我有一个自定义控件(来自MS Toolkit - DatePicker)。我有这样的风格:
<Style TargetType="{x:Type local:DatePicker}">
但此样式不会自动应用。我必须添加密钥:
<Style x:Key="DatePickerStyle" TargetType="{x:Type local:DatePicker}">
并在每个自定义控件中引用它,如
<toolkit:DatePicker Style="{StaticResource DatePickerStyle}"
...
让它运作起来。有谁知道为什么?
答案 0 :(得分:7)
您是否尝试将TargetType更改为:
TargetType="{x:Type toolkit:DatePicker}">
您在一个地方引用本地,在另一个地方引用工具包。
<强>更新强> 我在一个小应用程序中尝试过它。这是xaml,因为它应该工作:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication3.Window1"
x:Name="Window"
Title="Window1"
Width="640" Height="480"
xmlns:Toolkit="http://schemas.microsoft.com/wpf/2008/toolkit">
<Window.Resources>
<Style TargetType="{x:Type Toolkit:DatePicker}">
<Setter Property="Background" Value="#FFFF0000"/>
</Style>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<Toolkit:DatePicker HorizontalAlignment="Left"
Margin="61,143,0,116" Width="232" />
</Grid>
</Window>
此示例应创建一个红色背景的日期选择器。