я стиль применяется ко всем моим, определенных текстовых в словаре ресурсов ..Невозможно переопределить глобальный стиль WPF, устанавливаемое TargetType на один конкретный контроль
<Style TargetType="TextBlock">
<Setter Property="TextBlock.FontSize" Value="{Binding Source={StaticResource ApplicationUserSettings}, Path=fontSize, Mode=OneWay}" />
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
<Setter Property="TextBlock.VerticalAlignment" Value="Center"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="TextBox.FontFamily" Value="{Binding Source={StaticResource ApplicationUserSettings}, Path=fontName, Mode=OneWay}"/>
</Style>\
В FontSize и FontStyle свойства привязаны к специальному классу пользовательских настроек, который реализует iNotifyPropertyChanged, что позволяет изменять размер шрифта и fontfamily для немедленного распространения по всему моему приложению.
Однако в UserControl, который я создал (по иронии судьбы, экран, который позволяет пользователю настраивать свои настройки шрифта), я хочу, чтобы размер шрифта и fontfamily оставался статичным. Независимо от того, что я стараюсь, мои глобальные настройки шрифта не переопределять то, что я установить в своем пользовательском элементе управления:
<UserControl x:Class="ctlUserSettings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:R2D2" Height="400" Width="600">
<Grid>
<Grid.Resources>
<Style x:Key="tbxStyle" TargetType="TextBox">
<Style.Setters>
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontFamily" Value="Tahoma"/>
</Style.Setters>
</Style>
... и т.д. ...
<StackPanel Margin="139,122.943,41,0" Orientation="Horizontal" Height="33" VerticalAlignment="Top">
<TextBox Style="{x:Null}" FontSize="13" FontFamily="Tahoma" HorizontalAlignment="Left" MaxWidth="500" MinWidth="350" Name="txtReaderPath" Height="Auto" VerticalAlignment="Top" />
<TextBox Style="{x:tbxStyle}" Margin="15,0,0,0" HorizontalAlignment="Left" Name="txtPath" Width="43" Height="23" VerticalAlignment="Top">(some text)</Button>
</StackPanel>
Я пробовал настройки Стиль для {x: Null}, установка настраиваемых размеров шрифта в строке и установка стиля в ресурсах этого элемента управления. Ни один из них не имеет приоритета над стилями в моем ресурсном словаре.
Как вы можете видеть, я показываю окропление всех вещей, которые я пробовал в образце XAML выше ...
Что мне не хватает?