2009-04-08 16 views
0

グリッド内にいくつかのコントロールを動的に追加しています。私は、どれくらいの人物がいるのか分かりません。私は正確な階層を知らないでしょう。私がしたいのは、特定の型(Buttonなど)を持つコントロールにアクセスしていくつかのプロパティをインスタンス化することです。これを行う最善の方法は何ですか?WPF - ビジュアルツリーを高速に取得する方法

+0

これを行う最良の方法は、おそらくそれをやっておらず、代わりにスタイルを使用することです。 –

答えて

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> 

この例では、グリッドの内部に配置され、すべてのボタンがグリッドリソースに定義されたスタイルで設定された背景やフォントサイズを持っています。

編集:これは実行時に追加されたコントロールボタンでも機能し、グリッドに追加するとそのスタイルにコントロールが適用され、必要に応じてスタイルを定義してグリッドリソースに追加できます。自動的に適用されます。

関連する問題