Ich habe ein Stil angewendet, um alle meine Textfelder, definiert in einem Ressourcenverzeichnis ..Kann keine globale WPF Stil außer Kraft, die Targettype auf einer einzigen spezifischen Steuer
<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>\
Die Schriftgröße und Schriftstil Eigenschaften gesetzt sind an eine spezielle Benutzereinstellungen-Klasse gebunden, die iNotifyPropertyChanged implementiert, wodurch Änderungen der Schriftgröße und fontfamily sofort in meiner gesamten Anwendung weitergegeben werden können.
In einem UserControl, das ich erstellt habe (Ironischerweise der Bildschirm, der dem Benutzer erlaubt, ihre Schriftarteinstellungen anzupassen), möchte ich die Schriftgröße und fontfamily statisch bleiben. Egal, was ich versuche, außer Kraft setzen meine globalen Schrifteinstellungen, was ich in meiner Benutzersteuerung gesetzt:
<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>
... etc ...
<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>
Ich habe versucht Einstellung Stil zu {x: Null}, Festlegen von benutzerdefinierten Schriftgrößen inline und Festlegen eines Stils in den Ressourcen dieses Steuerelements. Keine hat Vorrang vor den Stilen in meinem Ressourcenwörterbuch.
Wie Sie sehen können, zeige ich eine Prise von all dem, was ich in der XAML-Probe oben versucht haben ...
Was bin ich?