どのように継承するために/リソースディクショナリからスタイルを拡張しますか?

StackOverflow https://stackoverflow.com/questions/3619712

質問

私はトラブル拡張私は、Windowsの辞書に定義されているというのが私のスタイルのいずれかを持っています。一人で、予想通り、私のコントロールにスタイルを適用するようです。試みはBASEDONプロパティを使用して、私のユーザーコントロールの一つでスタイルを拡張する場合は、それは単に、メイン1を上書きし、すべての基本スタイルが消えます。ここでは例があります:

リソースディクショナリには、名前のdict1.xamlます:

<Style TargetType="{x:Type Button}">
    <Setter Property="Background" Value="Pink"/>
</Style>  
メインwindow.xamlで

<Window.Resources>
    <ResourceDictionary Source="dict1.xaml"/>
</Window.Resources>

ユーザーコントロールで呼ばuserControl1.xamlます:

<UserControl.Resources>
    <Style  BasedOn="{StaticResource {x:Type Button}}" 
            TargetType="{x:Type Button}">
        <Setter Property="FontWeight" Value="Bold"/>
    </Style>
</UserControl.Resources>

は、ユーザーコントロールのスタイルは、単にリソースディクショナリに1を上書きし、フォントが太字です。私は辞書キックで、ユーザーコントロールにスタイルをスタイルを削除し、背景がピンクになった場合。私は両方欲しいです。

私はここで間違ってやって任意のアイデア?

感謝ます。

役に立ちましたか?

解決

あなたのいずれかが必要ユーザーコントロールのリソースに辞書を追加、またはApp.XAMLリソースに追加します。

それがあるとして、ユーザーコントロールは解決できないことStaticResource - 。それは理にかなっている場合には、ユーザーコントロールの範囲ではなく、ウィンドウ内にある

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top