【发布时间】:2020-07-18 05:02:45
【问题描述】:
我有一个在运行时填充的数据网格。我想强调一些数据。 为此,我使用 LoadingRow 事件。
下面的代码有效:
dtg_ExecutionTimes_PpDescriptions.LoadingRow += (sender, args) =>
{
int rowNum = args.Row.GetIndex();
DataGridRow row = (DataGridRow)dtg_ExecutionTimes_PpDescriptions.ItemContainerGenerator.ContainerFromIndex(rowNum);
switch (m_ListCells[rowNum].Arm)
{
case CfgPartPrograms.eArm.ARM1: break;
case CfgPartPrograms.eArm.ARM2:
row.Foreground = Brushes.GreenYellow; <-------THAT WORKS :-)
row.HorizontalAlignment = row.HorizontalContentAlignment = HorizontalAlignment.Right;<-----THAT DOESN'T WORK :-(
break;
case CfgPartPrograms.eArm.ARM12: row.Foreground = Brushes.LightSalmon; break;
default:
break;
}
};
我也尝试过风格,但由于某些原因我没有效果
var MyStyle = new Style(typeof(DataGridRow)) { Setters = { new Setter(TextBlock.TextAlignmentProperty, TextAlignment.Right) } };
row.Style = MyStyle;
提前致谢 帕特里克
【问题讨论】:
-
谢谢,但我不知道你指的是什么标签。你能解释一下吗?
-
您的问题标题是“C# WPF 如何将文本对齐应用到 LoadingRow 事件中的数据网格行中的代码隐藏”,这意味着它包含 C# 和 WPF 的标签。有关要避免的标题格式的更多示例,请参阅tagging help page 的底部。
-
如果将
row.HorizontalAlignment = row.HorizontalContentAlignment = HorizontalAlignment.Right;拆分为两个不同的任务,它是否有效? -
没有,甚至没有放 row.HorizontalAlignment = HorizontalAlignment.Stretch; row.HorizontalContentAlignment = HorizontalAlignment.Right;
-
@Patrick:您应该将列的
ElementStyle设置为右对齐单元格值。
标签: c# wpf datagrid row text-alignment