I # m новичок с WPF. Я хочу сделать то же самое, что и css/sass. Я хочу повторно использовать некоторые определения.WPF ResourceDictionary and Binding
Здесь я хочу повторно использовать определение цвета в элементе (например, кнопку). Если я использую связывание с «StaticResource», я получаю следующее исключение при запуске:
«Необработанное исключение типа„System.Windows.Markup.XamlParseException“произошло в PresentationFramework.dll Дополнительная информация:„# FF8FA2AC“ IST Kein gültiger Wert für умереть Eigenschaft "Фон". "
<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>
Как я могу использовать предопределенные определения в других элементах? Или что не так. Я хочу сделать определить 4 разных стилей кнопки «Стандартные», «IsFocused», «IsDisabled» и «IsHero (фон = mangenta2».
'Background' не цвет, это' Brush' объявить кисти в ресурсах (например, SolidColorBrush) и использовать их в вашем стили и представления, btw, '<Свойство Setter =" Background "Value =" # 8fa2ac ">' создает кисть из шестнадцатеричного кода "# 8fa2ac" – ASh
Возможный дубликат [Как преобразовать цвет в кисть в XAML?] (http://stackoverflow.com/questions/3309709/how-do-i- преобразовать-A-цвет-к-а-кисти-в-XAML) – MikeT