Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。
在WPF中,如果我想重新定义控件样式,在我制作特殊按钮的示例中,我知道我可以使用Visual Studio提取模板的副本供我使用。 然而,当视觉研究...
我正在创建一个 WPF 数据网格,我希望能够通过拖放对行重新排序,如下所示:我单击一行并将其向上或向下拖动。正如我所做的那样,一个标记显示了该行将被放置的位置...
WPF 消息处理不尊重 RegisterHotKey 的已处理参数
我有一个使用 Win32 RegisterHotKey 方法和 HwndSource.AddHook 消息处理程序的 WPF 应用程序。 我正在尝试添加功能,以便在不采取任何操作的情况下不处理热键...
我在列表视图中显示图片时遇到问题。我有一个 url 数组,我必须从中下载图片,但出于测试目的,我尝试使用我的
如何为数据网格添加工具提示并在工具提示中显示数据网格的转换值?
我有 DataGrid,DataGrid 列之一如下所示。 我有 DataGrid,DataGrid 列之一如下所示。 <ig:TextColumn HeaderText="{Binding CARTONS, Source={StaticResource Messages}, Converter={StaticResource MessageConverter}}" Key="Column1" AllowToolTips="Always"> <ig:TextColumn.ToolTipContentTemplate> <DataTemplate> <TextBlock Text="{Binding Self}, Converter={StaticResource TransferColumnToCrlfDelimitedList}}"/> </DataTemplate> </ig:TextColumn.ToolTipContentTemplate> </ig:TextColumn> 问题是我需要显示将列的值转换为列的子值列表。我尝试使用 self.显然,这是行不通的。 我该如何解决我的任务?有没有可能。 去除自我 仅使用 {Binding},您将获得与父控件相同的 DataContext
Visual Studio 在系统代码而不是用户代码中引发异常
我正在 .Net 8.0 中开发一个 C# WPF 项目,由于某种原因,我可以访问所有系统程序集的完整源代码。在大多数电脑上,比如我的工作电脑,查看
我有一个在wpf中运行的webview。如何仅使 webview 进程崩溃以在 Windows 上生成故障转储? 我愿意在 C# 代码中或通过外部 api 执行此操作。我试着尝试...
有没有办法在 XAML 中创建条件绑定? 例子: ...
WPF:如何在仅使用`StaysOpen =“False”`还不够的极端情况下自动关闭弹出窗口?
我创建了一个自定义时间选择器控件,该控件在以按钮为中心的弹出窗口中打开,并且运行良好。我无法解决的唯一问题是,当弹出窗口打开时......
无法更改 xceed checklistbox 中的复选框颜色
如何更改Xceed的CheckListbox控件中复选框的勾号颜色。 我已经尝试过这段代码 如何更改Xceed的CheckListbox控件中复选框的勾号颜色。 我已经尝试过这段代码 <Style.Triggers> <Trigger Property="IsSelected" Value="False"> <Setter Property="Background" Value="Transparent"></Setter> </Trigger> <Trigger Property="IsMouseOver" Value="False"> <Setter Property="Background" Value="Transparent"></Setter> </Trigger> <Trigger Property="IsKeyboardFocusWithin" Value="False"> <Setter Property="Background" Value="Transparent"></Setter> </Trigger> </Style.Triggers> A CheckListBox 是 CheckBox 元素的集合,您可以像往常一样设置样式。这应该有效: <xctk:CheckListBox x:Name="_listBox" ...> <xctk:CheckListBox.Resources> <Style TargetType="CheckBox"> <Style.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter Property="Background" Value="Red"></Setter> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Green"></Setter> </Trigger> <Trigger Property="IsKeyboardFocusWithin" Value="True"> <Setter Property="Background" Value="Blue"></Setter> </Trigger> </Style.Triggers> <Setter Property="Background" Value="Yellow" /> </Style> </xctk:CheckListBox.Resources> </xctk:CheckListBox> 有人知道如何基于@mm8示例更改复选框文本吗? 我已经搜索过但找不到工作示例。
所以我有一个部分绘制的 DrawingVisual,然后当我滚动时我想绘制新区域并从 DrawingVisual 中删除旧区域。我该如何剪掉旧的 r...
我怎样才能制作滑块来控制歌曲应该播放的持续时间并根据歌曲的持续时间移动我有滑块和进度条的xaml代码: ...
为什么我的带有 DispatcherTimer 的简单 wpf C# 应用程序会出现内存泄漏?
我创建了一个简单的 wpf C#,其中包含一个文本框和 DispatcherTimer,它每秒显示一次 GC.GetTotalMemory(true) 调用的结果。返回的值随着每次的增加而稳定增加...
向 Observable Collection 添加批量数据会降低应用程序性能
我正在使用 WPF Toolkit 绘制图表并绑定数据以显示我正在使用可观察集合并将数据点添加到集合中并将该集合作为项目提供的图...
如何将NotifyDataErrorInfo传递到自定义TextBox用户控件?
目标 我正在练习如何使用绑定到 Text 属性的不同类型的 TextBox。 有很多线程讨论这个问题。但是,我缺少一些步骤,并且会
使用 Microsoft Entity Framework 在 C# 中格式化特定的 MySQL DateTime YYYY-MM-DD
使用 Microsoft Entity Framerk 在 MySQL 数据库中插入记录时出现错误。 米表是 如果不存在则创建表“预防性”( `IDPREVENTIVE`mediumint(9) NOT NULL AUTO_INCRMENT, `
在 AddNew 或 EditItem 事务 mvvm 期间不允许 WPF DataGrid“刷新”
我有以下网格 我有以下网格 <DataGrid x:Name="TablesDataGrid" Grid.Column="0" Grid.Row="1" ItemsSource="{Binding FilteredModels.View}" AlternationCount="2" AutoGenerateColumns="False" CanUserSortColumns="True" CanUserReorderColumns="False" CanUserDeleteRows="False" CanUserAddRows="False" SelectionMode="Extended" IsReadOnly="False" SelectionUnit="FullRow" RowHeight="25" HorizontalAlignment="Stretch" ColumnWidth="Auto"> <DataGrid.Columns > <DataGridCheckBoxColumn Width="*" Binding="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" IsReadOnly="False"> <DataGridCheckBoxColumn.HeaderTemplate> <DataTemplate> <CheckBox IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.CheckAll}"/> </DataTemplate> </DataGridCheckBoxColumn.HeaderTemplate> </DataGridCheckBoxColumn> <DataGridTextColumn Header="Source Table" Binding="{Binding SourceTableFullName}" Width="4*"></DataGridTextColumn> <DataGridTextColumn Header="EDW Schema" Binding="{Binding SchemaName}" Width="2*"></DataGridTextColumn> <DataGridTextColumn Header="EDW Table" Binding="{Binding TableName}" Width="4*"></DataGridTextColumn> <DataGridTextColumn Header="Status" Binding="{Binding Status}" Width="*"></DataGridTextColumn> </DataGrid.Columns> </DataGrid> 然后我有一个 searchCommand 对视图模型中的 collectionViewSource FilteredModels 执行搜索,然后调用 this.FilteredModels.View.Refresh(); 当用户选中一些复选框并将网格发送到编辑模式,然后执行搜索时,我们会收到以下错误 WPF DataGrid 'Refresh' is not allowed during an AddNew or EditItem transaction 有没有办法在选中复选框时强制网格退出编辑模式,甚至单击搜索按钮或其他修复方法? 谢谢! 我知道现在回答已经太晚了...但对于正在寻找答案的人来说 按如下顺序使用 cancelEdit 或 commitEdit 方法两次 //用于提交 this.datagrid_layers.CommitEdit(); this.datagrid_layers.CommitEdit(); //取消 this.datagrid_layers.CancelEdit(); this.datagrid_layers.CancelEdit(); 有一个干净的 MVVM 解决方案可以解决这个问题。首先,您的 ViewModel 必须实现 IEditableObject 接口(无操作就足够了)。然而,这还不够,因为 DataGrid 不会听 IEditableObject.CancelEdit。 另一个问题是,ICollectionView和IEditableCollectionView都没有实现另一个。虽然只有 ICollectionView 可以刷新,但只有 IEditableCollectionView 可以提交/取消。幸运的是,CollectionViewSource.GetDefaultView返回的集合视图实现了both: // ViewModel.cs public class ItemVM : IEditableObject, INotifyPropertyChanged { } public class ModuleVM : INotifyPropertyChanged { ICollectionView Items { get; } public ModuleVM(ObservableCollection<ItemVM> items) { Items = CollectionViewSource.GetDefaultView(items); } public void RefreshSafely() { ((IEditableCollectionView)Items).CancelEdit(); // alterantively, CommitEdit() Items.Refresh(); } } 或者换句话说,您可以将 ICollectionView 投射到 IEditableCollectionView 并先调用 CancelEdit()。 您应该能够将所选项目转换为 IEditableObject 并对其调用 EndEdit,或调用网格 CancelEdit 方法。 这是我的解决方案,请根据您的需要进行调整。 private void CommitEditRefreshViewSafely() { ((IEditableCollectionView)MyCollectionViewList.View).CommitEdit(); MyCollectionViewList.View.Refresh(); }
我有一个列表视图,我通过代码填充标签。当用户单击标签时,我想处理 MouseDown 事件,但它不会触发。按下预览鼠标确实会触发。 我明白了...
当从直接代码之外的其他位置执行操作时,如何更新 XAML 中的值?
我有点进退两难。一段时间以来,我一直在为一个名为 SimHub 的应用程序开发一个插件,该插件在很大程度上可以工作。我正在进入一个我想保持印象的阶段......
如何在网格视图中使用键盘(例如使用选项卡)关注 XAML WPF 中的 TextBlock?
我有一个文本块,它有一个带有转换器的绑定路径,但我无法使用选项卡按钮操作它。 Textblock 有一个 Onclick 属性,可以打开另一个页面。我想打开那个屏幕...