0

そのようなスタイルを持っている

<Style TargetType="TreeViewItem">
  <Style.Triggers>
    <Trigger Property="IsExpanded" Value="True">
      <Setter Property="Header" Value="Pink"></Setter>
    </Trigger>
  </Style.Triggers>
</Style>

展開された TreeViewItems のテキストは「ピンク」であると予想されますが、実際には何も設定されていません。代わりに Property="Background" に変更すると、機能します。ヘッダーと背景の違いは?

4

2 に答える 2

3

これにもっと完全に答えるには、もっと情報が必要だと思います。ただし、推測する必要がある場合は、おそらく次のように TreeViewItem の Header プロパティを明示的に設定していると思います。

<TreeView>
    <TreeViewItem
        Header="Blue"/>
</TreeView>

この場合、明示的に設定すると、スタイルに追加したものはすべてオーバーライドされます。

于 2009-03-20T18:47:13.137 に答える
1

ascalonxの答えを詳しく説明するには:

Josh Smith のブログからのコピー:

DP の実際の値を把握するために WPF によって内部的に使用される、明確に定義された一連のルールがあります。DP の値を解決するときに使用される優先順位の規則の簡単な要約を次に示します (優先度の高いものから低いものへ)。

  1. プロパティ システム強制
  2. アクティブなアニメーション、またはホールド動作のあるアニメーション
  3. ローカル値
  4. TemplatedParent テンプレート
  5. スタイルトリガー
  6. テンプレート トリガー
  7. スタイルセッター
  8. テーマのスタイル
  9. 継承
  10. 依存関係プロパティ メタデータの既定値

したがって、Header プロパティを明示的に設定した場合 (またはバインドした場合)、その問題が発生します。

于 2009-03-20T19:01:11.000 に答える