クラスとスタイルに関連付けるときに見た目は正しいものの、正しい構文を取得できません。私は特定の動作を持つコントロールを持っています。いくつか私は、追加の動作を追加するために派生します。さて、各バージョンにスタイルを対応させたい。その最も単純な例では、スタイルがビジュアルに関連しており、関数の影響ではないことがわかっているので、私はこれらのクラスを無視します。以前の質問のいくつかは終わりましたが、私はまだ何かが欠けています。WPFクラスとそれに対応するビジュアルスタイルの継承
public class MyLabel : Label
{}
public class MyLabel2 : MyLabel
{}
上記から、私はリソース辞書に3つのスタイルを持つことができます。 1つは、 "MyLabel"から派生したコントロールと "MyLabel2"から派生したコントロールを持つインスタンスのためのものです。 "local:"は "Theme" xaml宣言ごとにクラスライブラリを指しています。
<Style x:Key="baseLabel" TargetType="Label">
<Setter Property="FontSize" Value="10" />
</Style>
<Style x:Key="styleMyLabel" TargetType="local:MyLabel" BasedOn="{StaticResource baseLabel}" >
<Setter Property="FontSize" Value="14" />
</Style>
<Style x:Key="styleMyLabel2" TargetType="{x:Type local:MyLabel2}" BasedOn="{StaticResource styleMyLabel}" >
<Setter Property="FontSize" Value="22" />
</Style>
また、非常に単純な目的のために、継承の目的のために単純なラベルを使用しています。私のウィンドウxamlファイル。ウィンドウxamlでは、 "src:"は私のクラスライブラリを指します。これはテーマで参照されている "local:"と同じライブラリです(しかし両方の方法を試しました...両方のインスタンスをxmlns:local両方とも、しかしそれは違いを生むようには見えなかった)。
対応するターゲットタイプのスタイルを持つクラスから派生したスタイルを明示的に指定する必要はありません。うまくいけば、何かばかげたシンプルだが、私はそれを包んだ私の頭を得ることができない...