- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我遇到了一个问题,我有一个 DataGridColumnHeader,它正在接收带有下划线的文本作为内容,并且第一个下划线是隐藏的,除非你按 alt(“data_grid_thing”显示为“datagrid_thing”)。我四处寻找位,并为标签找到了解决此问题的一些方法,因为如果您将 RecognizesAccessKey 设置为 false,则文本将不会被视为“AccessText”(。但这对 DataGridColumnHeader 不起作用,因为它删除了所有其他样式,因此,我得到的不是带有文本的 header ,而是带有文本的空格。我也尝试使用 BasedOn 属性,但没有效果。
我对通过 C# 端(可能通过某种方式找到 ContentPresenter 来修改 RecognizesAccessKey 属性)或通过修改 XAML(找出保留默认样式的方法)的解决方案持开放态度。
我的 XAML 看起来像这样:
<Style x:Key="DataGridColumnHeaderStyle" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Border>
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="False" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
谢谢!
最佳答案
这是因为 AccessKey 处理。只需编写这样的事件处理程序即可暂时转义数据网格 header 中的下划线。
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
string header = e.Column.Header.ToString();
// Replace all underscores with two underscores, to prevent AccessKey handling
e.Column.Header = header.Replace("_", "__");
}
关于c# - DataGridColumnHeader 中的第一个下划线被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403782/
我遇到了一个问题,我有一个 DataGridColumnHeader,它正在接收带有下划线的文本作为内容,并且第一个下划线是隐藏的,除非你按 alt(“data_grid_thing”显示为“data
DataGridColumnHeader 发生了什么?当 DataGrid 移入 PresentationFramework 时,它看起来像是被删除了。 最佳答案 DataGridColumnHead
我在 View.cs 中有这段代码 var contextMenu = this.dataGridFacade.GiveContextMenuForDataGrid(this.DataGridAllJ
我在 MVVM 中有一个 DataGrid,它的 ItemsSource 绑定(bind)到一个自定义模型。 此模型中的属性的命名方式与数据库中的对应属性相同。例如: public string St
我想为 WPF DataGrid Column Header 编写样式。我的网格如下 `
我正在尝试自定义 DataGrid 的列标题以显示子列标题,如下面的屏幕截图所示: 我已经为 2 个子列制作了样式,如下面的 XAML 所示:
考虑以下 ViewModel: public class MyViewModel { public ObservableCollection foos { get; set; } } [Pro
如何在 DataGridColumHeader 中使用 DataTriggers?使用下面的这段代码,它不起作用。有人知道我该如何解决这个问题吗?
我有 TextBox 驻留在样式资源字典中的 DataGridColumnHeader 中,TextBox 用作过滤器,所以我需要触发 TextChanged 事件并在 View Model 中处理它
我需要在 DataGridColumnHeader 上使用 Command 对数据进行排序。标准 DataGrid 排序功能对我来说还不够,因为 DataGrid 中并未显示所有数据。我的虚拟机中甚至
我正在尝试为我的 DataGrid 创建一个自定义 header ,以便能够以一种强大的方式进行过滤。一切都像我想要的那样工作,除了 UserControl 不随列拉伸(stretch)这一事实。我已
样式化 DataGrid,我想通过将触发器应用于 ControlTemplate 或 Style 来区分其最后一列标题。例如:
我遇到了一个场景,我必须动态创建数据网格列并且必须在 C# 代码中创建列。我在每个生成的列的单独代码区域中都有一个复选框。该复选框确定特定列是隐藏还是可见。该复选框绑定(bind)到 GameAttr
我是一名优秀的程序员,十分优秀!