Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。
如何从代码后面将边框背景更改为红色? 如何从代码后面将边框背景更改为红色? <Border Name="border_c" HorizontalAlignment="Left" VerticalAlignment="Top" CornerRadius="10" Width="180" Background="green"> 试试这个.. using System.Windows.Media; Border border = border_c; SolidColorBrush redBrush = new SolidColorBrush(Colors.Red); border.Background = redBrush; 或 border_c.Background = Brushes.Red;
WPF MVVM ComboBox SelectedItem 不会从 ViewModel 传播到 View
我有一个 MVVM 绑定的 ComboBox 我有一个 MVVM 绑定的 ComboBox <ComboBox ItemsSource="{Binding RootPathItems, Mode=OneTime}" DisplayMemberPath="DisplayName" SelectedItem="{Binding SelectedRootPathItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True"> </ComboBox> 组合框中的所有项目都是内存唯一的,并在窗口启动时创建。 当用户更改下拉列表中的选择时,将调用 ViewModel 属性设置器,并将正确的对象提供给设置器。然后我根据选择开始一些同步操作,然后然后我想将选择更改为默认选择 private RootPathItem _selectedRootPathItem; public RootPathItem SelectedRootPathItem { get => _selectedRootPathItem; set { if (_selectedRootPathItem != value) { _selectedRootPathItem = value; this.OnPropertyChanged(); SomeAction(); } } } ... //in SomeAction(): this.SelectedRootPathItem = _nothingComboBoxItem; .Net 内部将再次调用属性 getter 并获取 _nothingComboBoxItem,但 UI 将保留在之前选择的项目上,不会切换到默认值。 我也尝试绑定SelectedIndex,效果相同。 我的猜测是因为当我设置一个新项目时我仍然在属性设置器调用堆栈中,这不起作用,但我实际上不知道这里出了什么问题。 仔细查看您的代码库并对其进行测试,在我看来,您关于“仍在属性设置器理论中”的说法是正确的。看来 WPF 不会更新视图,除非您将 this.SelectedRootPathItem = _nothingComboBoxItem 行放入任务中。 而且我还看到您尝试使用交互行为来订阅 ComboBox 的选择更改事件,我认为这是一个比在属性设置器中做很多事情更清晰的方法。这个想法怎么了?我看到 xaml 代码被注释掉了。 我添加了nuget包,将交互行为代码放回xaml中,删除了setter中的_rootPathItemSelectionChangedCommand.Execute(null);行,它完美地工作了。
当我使用多重绑定时,转换器无法正常工作 公共部分类 TestControl : UserControl { 公共 TestClass TimeData{get;set;} 公共测试控制() {
在我的WPF应用程序中,我有一个自己创建的小部件(甘特图)。 这是甘特图主窗口中的InitializeUI(): 私有无效InitializeUI(){ 画布=新画布 {
WPF DataGrid - RowDetails DataContext
背景 我有以下 DataGrid,其中有两列用于描述和状态。它们绑定到一个名为 RowViewModels 的 ObservableCollection ,它作为 ...
在我的 WPF 应用程序中托管 Windows Shell 资源管理器
是否可以在 WPF 或 WinForms 窗口中嵌入 Windows 资源管理器文件/文件夹浏览器视图? 我基本上想将文件/文件夹浏览器作为我的应用程序窗口的一部分托管。我不想重新
WPF TreeView:ExpandAll() 方法在哪里
如何展开WPF中的所有TreeView节点?在 WinForms 中,有一个 ExpandAll() 方法可以执行此操作。
我有一个 BitmapImage 类型的可观察集合,其中存储了一些图像,该集合绑定到 UI。 现在的问题是,我想对这些图像进行更改,例如旋转......
我制作了一个关于电影和演员的 WPF 项目(编程新手)。 现在我可以通过输入他的名字、国家、生日等来手动创建一个新演员(链接到电影)。因为我添加了更多内容并且
我创建了 TextBox 类的派生类 MyTextBox,并添加了一个名为 AString 的依赖属性和一个名为 ContextChangedEvent 的路由事件。在XAML代码中,Text属性被绑定...
我在查找 style.xaml 资源时遇到问题,该资源包含按钮、文本框和其他元素的样式。该资源采用字典 XAML 的形式,位于...
我有两个项目的解决方案。一个是 Windows 服务,另一个是允许配置 Windows 服务应用程序的 WPF 应用程序。 我想发布这两个应用程序...
我正在使用 Blend Expression,并且刚刚开始使用 WPF。 我正在尝试制作一个窗口响应式窗口,它可以容纳多个网格,并将根据窗口大小重新调整大小到最小...
所以我之前的问题似乎无法回答,所以我将根据自己的建议尝试一下。 我正在寻找的功能是让数据网格改变前景(甚至
我正在尝试从一本旧书(Beginning Visual C# 2010)中学习 WPF。我尝试复制他们提供的示例(它看起来确实很可怕),但由于某种原因,文本不显示......
我正在 WPF 中创建一个基本的数据库应用程序,并且我已经开始使用 MVVM 模式。 我有一个对话框,要求用户从列表框中选择一个项目,然后单击“确定”。之后,我...
我不知道如何将饮料列表绑定到 WPF TreeView。 结构饮料 { 公共字符串名称{获取;私人套装; } 公共 int 流行度 { get;私人套装; } 公共饮料(字符串n...
学习 WPF 和 MVVM - 从头开始学习的最佳方法[已关闭]
我有大约三年的 c# 经验。我想学习一些 WPF 和 MVVM 模式。 该网站上有很多文章的链接,但我有点不知所措。 明智的
C# - WPF - DataGrid - 在列之间共享绑定
我将此类的实例绑定到 DataGrid 公开课 SomeClass { 公共 int m_width { 得到;放; } 公共 int m_height { 得到;放; } ... 公共字符串[] m_content { 获取;放; ...
我有两个删除线数据触发器,其中之一我想设为黑色(默认),但其中之一应该是删除线红色,有人可以帮我设置红色吗,这是我的代码: <