グリッド内に動的にいくつかのコントロールを追加しています。いくつあるかわかりませんし、正確な階層もわかりません。私がやりたいのは、特定のタイプ(たとえば、ボタン)を持ついくつかのコントロールにアクセスし、いくつかのプロパティをインスタンス化することです。これを行うための最良の方法は何ですか?
1225 次
2 に答える
1
グリッド レベルでボタン スタイルをオーバーライドできます。次に例を示します。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="144*" />
<RowDefinition Height="171*" />
</Grid.RowDefinitions>
<Grid.Resources>
<!-- Override all Buttons style that are childs of the grid -->
<Style TargetType="Button">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="FontSize" Value="20" />
</Style>
</Grid.Resources>
<Button Grid.Row="0">Button1</Button>
<Button Grid.Row="1">Button2</Button>
</Grid>
この例では、グリッド内に配置されたすべてのボタンに、グリッド リソースで定義されたスタイルによって設定された背景とフォント サイズがあります。
編集: これは、実行時に追加されたコントロール ボタンにも適用されます。スタイルは、グリッドに追加されたときにそれらのコントロールに適用されます。また、必要に応じてプログラムでスタイルを定義してグリッド リソースに追加すると、自動的に適用されます。
于 2009-04-08T10:31:44.243 に答える
0
VisualTreeHelper を使用してVisualTreeを通り抜ける必要があります。特定のタイプのコントロールを取得する方法の良い例がいくつかあります
于 2009-04-08T10:38:14.680 に答える