2013-12-17 2 views
0

У меня есть глобальный стиль, который я разделяю несколькими проектами в своем приложении. Но если у любого XAML есть шаблоны данных, эти стили не применяются. Есть ли способ, которым они могут применяться без каких-либо изменений в ресурсах данных.WPF Global Style применяется к нескольким шаблонам управления

+0

Да, есть способ, но сначала напишите нам больше кода, пожалуйста. –

ответ

0

Хорошо, что вы кратко объяснили.

Проблема здесь ключ, указанный для стиля в xaml. Не указывайте какие-либо ключи. Если вы укажете ключ для стиля, он будет применяться только к соответствующим элементам управления, которые явно задают стиль.

Итак, теперь вы должны выглядеть так, как показано ниже (только удаление x: Ключ).

<Style TargetType="TextBlock"> 
    <Setter Property="HorizontalAlignment" Value="Left"/> 
    <Setter Property="FontSize" Value="10"/> 
</Style> 

Если вы хотите применить стили, основанные на ключах тогда Ур TextBlock код DataTemplate должен быть как ниже

<TextBlock Text="{Binding Currcode}" Style="{StaticResource TextBlockStyle}"/> 
+0

Но я заметил, что, хотя у меня нет ключа для стиля. Тем не менее он не применяется к элементам управления, присутствующим в таблице данных. – Satya

+0

любое обновление начинает работать снова ... –

+0

Нет, он до сих пор не применяется. – Satya

0

ой да я сталкивался с проблемой ранее сделать шаблон данных не быть частью одного и того же ресурс. т.е.

<userControl> 
<USerControl.Resources> 
    **<style is placed here>** 
</USerControl.Resources> 
<Grid> 
<Grid.Resources> 
     **<Add the Data template here>** 
</Grid.Resources> 

Я действительно не знаю, почему Merged словарь RESOURCE и шаблон данных хранятся в том же USerControl.Resources не работает должным образом

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

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