簡體   English   中英

如何將自定義樣式應用於自定義控件模板內部的控件?

[英]How to apply a custom style to a control inside of a custom control template?

我有一個自定義控件,其模板中帶有一個button 模板位於themes\\generic.xaml引用的my.xaml文件中。

在我的應用程序中,我為按鈕使用兩種樣式:寬(默認,無鍵)和窄( x:Key="narrowButton" )。 它們在myDic.xaml文件中定義。

我希望模板中的按鈕變窄。

但這不起作用:

<ResourceDictionary ...>
<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/assembly;component/myDic.xaml" />
    <ResourceDictionary>
        <Style TargetType="{x:Type localui:MyControl}">
        <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type localui:MyControl}">
                <Button Style="{StaticResource narrowButton}">...</Button>
            </ControlTemplate>
        </Setter.Value>
        </Setter>
        </Style>
    </ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

實際上, my.xaml MergedDictionaries導致該按鈕根本不顯示。

narrowButton按鈕樣式應用於我的按鈕的有效方法是什么?

檢查下面的代碼...

<ResourceDictionary ...>
   <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="/assembly;component/myDic.xaml" />
   </ResourceDictionary.MergedDictionaries>
         <Style TargetType="{x:Type localui:MyControl}">
              <Setter Property="Template">
                  <Setter.Value>
                      <ControlTemplate TargetType="{x:Type localui:MyControl}">
                            <Button Style="{StaticResource narrowButton}">...</Button>
                      </ControlTemplate>
                  </Setter.Value>
             </Setter>
          </Style>
</ResourceDictionary>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM