Ich bin ein Anfänger mit WPF. Ich möchte das gleiche wie css/sass machen. Ich möchte einige Definitionen wiederverwenden.WPF ResourceDictionary und Bindung
Hier möchte ich eine Farbdefinition in einem Element (z. B. Schaltfläche) wiederverwenden. Wenn ich mit „Static“ Bindung verwenden, erhalte ich die folgende Ausnahme bei der Ausführung:
„Eine nicht behandelte Ausnahme des Typs‚System.Windows.Markup.XamlParseException‘aufgetreten in PresentationFramework.dll Weitere Informationen:‚# FF8FA2AC‘ ist kein gültiger Wert für sterben Eigenschaft "Background". "
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<Color x:Key="cyan3">#007ca9</Color>
<Color x:Key="mangenta2">#a8005c</Color>
<Color x:Key="wintergrey1">#e6ecf0</Color>
<Color x:Key="wintergrey2">#c3ced5</Color>
<Color x:Key="wintergrey3">#8fa2ac</Color>
<Color x:Key="wintergrey4">#506671</Color>
<Color x:Key="white">#FFFFFF</Color>
<Color x:Key="antrazit">#333333</Color>
<!-- Base style for button -->
<Style TargetType="Button" x:Key="btnStandard">
<!--Setter Property="Background" Value="#8fa2ac"/-->
<Setter Property="Background" Value="{StaticResource wintergrey3}"/>
<Setter Property="Foreground" Value="#ffffff"/>
<Setter Property="Width" Value="150" />
<Setter Property="Height" Value="30"/>
</Style>
</ResourceDictionary>
Wie kann ich mit vordefinierten Definitionen in anderen Elementen? Oder was ist falsch. Will ich 4 verschiedene Knopfarten „Standard“ definieren „IsFocused“, „IsDisabled“ und „IsHero (background = mangenta2“.
'Background' keine Farbe ist, es ist ein' Brush' erklären Bürsten in Ressourcen (zB SolidColorBrush) und Wiederverwendung der Ressourcen in Ihrem Stile und Ansichten; btw, '' erstellt einen Pinsel aus "# 8fa2ac" Hex-Code –
ASh
Mögliche Duplikate von [Wie konvertiere ich eine Farbe in einen Pinsel in XAML?] (http://stackoverflow.com/questions/3309709/how-doi-i) eine Farbe in eine Pinsel-in-Xaml konvertieren – MikeT