【发布时间】:2011-09-22 03:05:54
【问题描述】:
如果我已经设置了 ResourceDictionary,是否可以设置内联样式?
这是我已经设置的...
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/My.Project.Common.Desktop;component/Themes/StandardStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
这是我需要添加到 UserControl.Resources 节点的样式...
<Style x:Key="MessageErrorIcon" TargetType="{x:Type Rectangle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Icon}" Value="Asterisk">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayInformationIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Error">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayErrorIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Exclamation">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayExclamationIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Hand">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayErrorIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Information">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayInformationIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Question">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayQuestionIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Stop">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayErrorIcon}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Icon}" Value="Warning">
<Setter Property="Fill" Value="{DynamicResource MessageOverlayExclamationIcon}"/>
</DataTrigger>
</Style.Triggers>
</Style>
我需要在 UserControl 级别设置这些样式,因为它们绑定到数据上下文。
我该怎么做?
【问题讨论】:
标签: wpf xaml styles resourcedictionary