1

私は次のように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]?手伝ってくれてありがとう

4

2 に答える 2

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);
    }
}
于 2013-01-12T10:01:32.057 に答える
0

私はおそらくDataTrigerを使用してxamlでこれを行います

データトリガーでは、状態を確認して適切な背景を適用できます

于 2013-01-11T09:49:24.820 に答える