我在xaml中定义了这样的网格:
<Grid Name="grdMoney" HorizontalAlignment="Center" Margin="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
... Content, many Textboxes in each row
</Grid>
现在我只想通过更改该行中的背景来突出显示某行。但是我无法找到如何在代码中从网格中获得精确的行。我觉得这很容易,但是谷歌搜索最后15分钟却无法找到它。也许有grdMoney.Childer[number_of_row]
的东西?谢谢你的帮助
答案 0 :(得分:1)
Grid
是Panel
。面板负责布局,仅此而已。
如果你想更新背景 - 将每行的内容放到Border
,并找到相应的Border
(我在这里编写代码,但没有测试它,但是应该有效):
int desiredRowId = 2;
foreach(var child in grdMoney.Children.OfType<Border>())
{
if (Grid.GetRow(child) == desiredRowId)
{
child.Background = new SolidColorBrush(Colors.Red);
}
}
答案 1 :(得分:0)
我可能会使用 DataTriger
在xaml中执行此操作在数据分析中,您可以检查您的情况并应用适当的背景