1

私は次のスタイルを持っています。以下に示すように、うまく機能します。

    <StackPanel Orientation="Vertical">
      <StackPanel.Resources>
        <Style TargetType="TextBlock">
          <Setter Property="Padding" Value="0 0 0 0.3cm" />
          <Setter Property="Height" Value="Auto" />
          <Setter Property="VerticalAlignment" Value="Stretch" />
        </Style>
      </StackPanel.Resources>
      <TextBlock Text="Hello"/>
      <TextBlock Text="World"/>
    </StackPanel>

ここで問題が発生します。私が本当にやりたいことは、このスタイルを 3 番目の場所で定義し、それを上記の作業サンプルの方法で、子を含むさまざまな StackPanels で使用することですが、すべての StackPanels ではありません。これは私が試したものです。ビルドエラーが発生します:

<Window.Resources>
  <Style x:Key="TextBlockWithBottomMargin" TargetType="TextBlock">
    <Setter Property="Padding" Value="0 0 0 0.3cm" />
    <Setter Property="Height" Value="Auto" />
    <Setter Property="VerticalAlignment" Value="Stretch" />
  </Style>
</Window.Resources>
<Grid>
  <TabControl>
    <!-- omitting some XAML here -->
    <TabItem Header="Help" >
    <StackPanel Orientation="Vertical">
      <StackPanel.Resources>
        <Style Binding="{StaticResource TextBlockWithBottomMargin}"></Style> <!-- build error on this line -->
      </StackPanel.Resources>
      <TextBlock Text="Hello"/>
      <TextBlock Text="World"/>
    </StackPanel>
    <!-- lots more xaml here -->
4

1 に答える 1