XAMLの小ネタテクニック。
例えば、Textboxが下記のように列挙していて同じような幅(Width)を設定した場合に有効です。
<StackPanel>
<StackPanel HorizontalAlignment="Left">
<TextBlock Width="100" HorizontalAlignment="Left">性</TextBlock>
<TextBox Width="200"></TextBox>
</StackPanel>
<StackPanel HorizontalAlignment="Left">
<TextBlock Width="100" HorizontalAlignment="Left">名</TextBlock>
<TextBox Width="200"></TextBox>
</StackPanel>
</StackPanel>
ResourcesプロパティにTextBlockとTextBoxのWidthを設定するようにします。
こうすることで、StackPanel配下のTextBlockおよびTextBoxのWidthプロパティを一括で設定することができます。
<StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Width" Value="100"></Setter>
</Style>
<Style TargetType="TextBox">
<Setter Property="Width" Value="200"></Setter>
</Style>
</StackPanel.Resources>
<StackPanel HorizontalAlignment="Left">
<TextBlock HorizontalAlignment="Left">性</TextBlock>
<TextBox ></TextBox>
</StackPanel>
<StackPanel HorizontalAlignment="Left">
<TextBlock HorizontalAlignment="Left">名</TextBlock>
<TextBox ></TextBox>
</StackPanel>
</StackPanel>
適応範囲をWindow全体にしたい場合は、Window.Resourcesに定義を書けばOK。
<Window ... 省略...>
<Window.Resources>
<Style TargetType="TextBlock">
<Setter Property="Width" Value="100"></Setter>
</Style>
<Style TargetType="TextBox">
<Setter Property="Width" Value="200"></Setter>
</Style>
</Window.Resources>
同じページ内のコントロールの幅などはそろえることが多いですし、特定範囲にさくっと適用したい場合に有効です。