2009-07-13 2 views
1

У меня есть пользовательский элемент управления (из MS Toolkit - DatePicker). Я сделал свой собственный стиль следующим образом:Проблема стиля пользовательского управления WPF

<Style TargetType="{x:Type local:DatePicker}"> 

Но этот стиль не применяется автоматически. Я должен добавить ключ:

<Style x:Key="DatePickerStyle" TargetType="{x:Type local:DatePicker}"> 

и ссылаться на него в каждом пользовательском элементе управления, как

<toolkit:DatePicker Style="{StaticResource DatePickerStyle}" 

...

, чтобы заставить его работать. Кто-нибудь знает, почему?

ответ

5

вы пробовали изменения 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> 

В этом примере должен быть создан датпикер с красным фоном.

+1

Я думаю, что дело не в этом, потому что это просто вопрос определения ссылок. –

Смежные вопросы