2012-03-12 39 views
12

tôi muốn làm một cái gì đó như thế này:WPF Màu sắc Styling

Resource điển

<Color x:Key="clrPrimary">#5381ac</Color> 
<Color x:Key="clrSecondary">#20558a</Color> 

<Style TargetType="Grid" x:Key="myGrid"> 
    <Setter Property="Background" Value="{StaticResource clrPrimary"/> 
</Style> 

Bắt Ngoại lệ:

'#FF5381AC' is not a valid value for property 'Background'. 

Có rắc rối đóng đinh nó xuống, có thể bất kỳ một điểm tôi đi đúng hướng?

Trả lời

18

BackgroundBrush, không phải là Color. Đặt cược tốt nhất của bạn là xác định tài nguyên "Chính" và "Phụ" dưới dạng bút vẽ thay vì màu.

Khá chắc chắn bạn thậm chí có thể đặt bàn chải ra khỏi các màu hiện có của mình.

<SolidColorBrush x:Key="PrimaryBrush" Color="{StaticResource clrPrimary}" /> 
... 
    <Setter Property="Background" Value="{StaticResource PrimaryBrush}" /> 
+0

Dường như bạn có thể làm điều đó, cảm ơn. – AGoodDisplayName

1

Thuộc tính nền là loại System.Windows.Media.Brush, không phải màu.

5

Thuộc tính nền cần bàn chải để hoạt động.

<Window.Resources> 
    <SolidColorBrush x:Key="clrPrimary" Color="#5381ac" /> 
</Window.Resources>