私は3つのプロジェクトで解決策を持っています
- WPF アプリケーション (他の 2 つを参照し、テーマを App.Resources に追加します)
- CustomControl ライブラリ
- カスタムテーマ
テーマには次のボタン スタイルが含まれています
<Style TargetType="{x:Type Button}">
<Setter Property="BorderBrush"
Value="Green" />
</Style>
コントロール ライブラリには、次のものが含まれています。
<Style TargetType="{x:Type Button}"
BasedOn="{StaticResource {x:Type Button}}"
x:Key="ButtonStyle">
<Setter Property="Padding"
Value="50" />
</Style>
<Style TargetType="{x:Type local:CustomControl1}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:CustomControl1}">
<Button Style="{StaticResource ButtonStyle}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
コントロール ライブラリ内で、'BasedOn="{StaticResource {x:Type Button}}"' は何に評価されますか?
テーマの Button スタイルに評価されると思っていましたが、緑の境界線プロパティが取得されていないため、そうではないようです。
誰かがここで行われているルックアップ ルールを説明できますか?