【问题标题】:Silverlight: Change style for stateSilverlight:更改状态样式
【发布时间】:2011-05-18 22:41:39
【问题描述】:

我的 App.xaml 如下所示:

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
         x:Class="mySilverlightApp.App"
         >
<Application.Resources>
    <Style x:Name="ComboBoxStyle" TargetType="ComboBox">
        <Setter Property="FontFamily"  Value="Calibri.ttf#Calibri"></Setter>
    </Style>
</Application.Resources>

如您所见,我正在尝试将带有 &lt;Setter&gt; 标记的自定义样式应用于我的应用程序中的 ComboBoxes。但我想为组合框的不同状态(鼠标悬停等)应用样式。

我该怎么做?

【问题讨论】:

    标签: silverlight xaml silverlight-4.0


    【解决方案1】:

    要做到这一点,您必须以您的隐式样式创建一个控件模板。类似于以下内容:

    <Style x:Name="ComboBoxStyle" TargetType="ComboBox">
        <Setter Property="Template">
             <Setter.Value>
                  <ControlTemplate TargetType="ComboBox">
                      ....
                  </ControlTemplate>
             </Setter.Value>
        </Setter>
    </Style>
    

    您可以参考此链接了解组合框的默认样式/控件模板:http://msdn.microsoft.com/en-us/library/dd334408(v=vs.95).aspx

    开始重新模板化控件的一个好方法是使用 Blend。您可以右键单击已拖动到画板上的控件并使用“编辑模板 -> 编辑副本”命令。这将为您创建一个默认控件模板(与我提供的链接中显示的相同)。

    从那里您可以使用“状态”选项卡在 Blend 中编辑鼠标悬停状态。

    这里有很多事情要做,但这应该会让你走上正确的道路。

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 2016-01-11
      • 2020-03-03
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      相关资源
      最近更新 更多