Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。
我创建了 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 { 获取;放; ...
我有两个删除线数据触发器,其中之一我想设为黑色(默认),但其中之一应该是删除线红色,有人可以帮我设置红色吗,这是我的代码: <
当我在xaml WPF中搜索foreach的等效项时,我得到了ItemControl教程,但它只是关于演示 它没有解决它的迭代部分 我该如何在 WPF 中执行此操作??? 当我在 xaml WPF 中搜索 foreach 的等效项时,我得到了 ItemControl 教程,但它只是关于演示文稿 它没有解决它的迭代部分 如何在 WPF 中执行此操作??? <TextBox Text ={Binding someArray[0]}/> <TextBox Text ={Binding someArray[1]}/> <TextBox Text ={Binding someArray[2]}/> <TextBox Text ={Binding someArray[3]}/> ... 但动态,作为一个循环,在模板内部,没有代码隐藏 不敢相信没有教程可以完成如此简单的用例 感谢您对此的帮助 我找到了这样的解决方案 <ItemsControl ItemsSource="{Binding someArray}"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding .}"></TextBlock> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
在我的WPF应用程序中,我使用ListView GridView,并且实现了与鼠标双击相关的功能。 有没有办法,或者一个控件来区分鼠标双击...
我创建了两个继承自ListView和ListViewItem的自定义类。我创建这些类是因为我希望我的 ListView 具有正常的选择功能,但也希望它具有
我正在开展一项活动来鼓励用户使用我的 WPF 应用程序。此活动将向该应用程序的注册用户发送一封带有链接的电子邮件。当用户单击该链接时,WPF 应用程序应该启动,如果...
所以我想让托管在 bitbucket 上的 c# 成功运行管道。在我的本地 Windows 机器上,发布和调试构建一切正常。 yml fi 的第一个版本...
WPF MVVM ComboBox SelectedItem 返回上一个项目
我有一个 MVVM 绑定的 ComboBox 我有一个 MVVM 绑定的 ComboBox <ComboBox x:Name="CBRootPathComboBox" ItemsSource="{Binding RootPathComboBoxItems, Mode=OneTime}" DisplayMemberPath="DisplayName" SelectedItem="{Binding SelectedRootPathComboBoxItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding RootPathComboBoxItemSelectionChangedCommand}" CommandParameter="{Binding ElementName=CBRootPathComboBox, Path=SelectedItem}" /> </i:EventTrigger> </i:Interaction.Triggers> </ComboBox> Interaction 来自 Microsoft.Xaml.Behaviors.Wpf nuget。 在 SelectionChanged 上,我期望看到 ICommand 以及列表中当前选定的项目。 在 ViewModel 中,我在代码中的某个位置设置了 SelectedItem。 我使用 ViewModel 属性在 ViewModel 中将其从“Item2”设置为“Item1”。 调用链如下: 1. set the property to "Item1" 2. Raise INotifyPropertyChanged.PropertyChanged event 3. .Net internals calls property getter, it returns "Item1" 4. ICommand call contains "Item2" in parameter. Expected: "Item1" ViewModel 属性: private RootPathItem _selectedRootPathComboBoxItem; public RootPathItem SelectedRootPathComboBoxItem { get { Debug.WriteLine($"getting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); return _selectedRootPathComboBoxItem; } set { Debug.WriteLine($"setting {value?.DisplayName ?? "null"}"); if (_selectedRootPathComboBoxItem != value) { Debug.WriteLine($"overwriting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); _selectedRootPathComboBoxItem = value; this.OnPropertyChanged(); } } } XAML:https://github.com/DJDoena/FolderSize/blob/bc0f316a321a5a1a752c4dd12484e2d8684b3700/View/MainWindow.xaml ViewModel:https://github.com/DJDoena/FolderSize/blob/bc0f316a321a5a1a752c4dd12484e2d8684b3700/ViewModel/MainViewModel.cs 几种解决方案。 无需使用事件。在虚拟机中实现所需的逻辑。对于您的代码来说,最简单的形式将是这样的: private RootPathItem _selectedRootPathComboBoxItem; public RootPathItem SelectedRootPathComboBoxItem { get { Debug.WriteLine($"getting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); return _selectedRootPathComboBoxItem; } set { Debug.WriteLine($"setting {value?.DisplayName ?? "null"}"); if (_selectedRootPathComboBoxItem != value) { Debug.WriteLine($"overwriting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); _selectedRootPathComboBoxItem = value; this.OnPropertyChanged(); RootPathComboBoxItemSelectionChangedExecute(value); } } } 从事件参数中检索新选定的元素: <ComboBox x:Name="CBRootPathComboBox" ItemsSource="{Binding RootPathComboBoxItems, Mode=OneTime}" DisplayMemberPath="DisplayName" SelectedItem="{Binding SelectedRootPathComboBoxItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding RootPathComboBoxItemSelectionChangedCommand}" EventArgsParameterPath="AddedItems[0]" /> </i:EventTrigger> </i:Interaction.Triggers> </ComboBox> 您可以使用 BeginInvoke 从事件异步调用命令,但为此您必须使用 i:Interaction.Behaviors 而不是 i:Interaction.Triggers。代码中稍微复杂一些的是 InvokeCommandAction 与 Behavior。
我读过近千篇文章,解释在 DataTemplate 上将封闭泛型类型设置为 DataType 不起作用,因为 WPF 不支持这一点。但事实上,这只是
0x88980406 SyncFlush() ...有解决方法吗?
我在我的应用程序中遇到此异常。 我在网上找到了讨论它的链接,但没有任何指示如何追踪它和/或解决它。 请不要回复来自实习生的链接...
我有一个条件,检查隔间(卡车空)和目的(“离开成品”)这些是我唯一必填的字段,选择时必须与顶部密封和底部一起...