如何从网格中获得精确的行(并更改背景)
本文关键字:背景 网格 | 更新日期: 2023-09-27 17:51:15
我在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]
的?感谢您的帮助
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);
}
}
我可能会在xaml中使用 datattrigger
在数据触发器中,您可以检查您的条件并应用适当的背景