WPFには、HTML divのようなコンテナーがあり(これは簡単です)、そのコンテナー内のすべてのテキストブロックをターゲットにできますか?だから私はすべてのテキストブロックでスタイルを指定する必要はありませんか?
複雑なキャンバスがあり、ある領域だけでテキストブロックをターゲットにしたいと思います。
これの効果のための何か(スタイルターゲティングコンテナとして機能するStackPanel以外のもの):
<StackPanel>
<StackPanel.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="White"></Setter>
<Setter Property="FontFamily" Value="Arial"></Setter>
</Style>
</StackPanel.Resources>
<TextBlock Canvas.Left="87" Canvas.Top="210">
mytext1
</TextBlock>
<TextBlock Canvas.Left="87" Canvas.Top="232">
mytext2
</TextBlock>
<TextBlock Canvas.Left="87" Canvas.Top="254">
mytext2
</TextBlock>
</StackPanel>
したがって、グリッドを試してみると、キャンバスの座標が無視され、テキストブロックがキャンバスの上部に表示されます。
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Canvas Width="500" Height="500">
<Grid>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Red"></Setter>
</Style>
</Grid.Resources>
<TextBlock Text="MyTextBlock1" Canvas.Left="300" Canvas.Top="300">
</TextBlock>
</Grid>
</Canvas>