在XAML中应用自定义画笔

时间:2015-05-29 07:51:07

标签: c# wpf brush

我定义了一个自定义画笔,如How to define and use resources in xaml so they can be used in C#中所述。

但是,当我尝试将此内容分配给Shape.FillShape.Stroke属性时:

<Rectangle Stroke="MyBrush"/>

我的应用程序崩溃了XamlParseException。那么如何仅使用XAML代码来分配自定义画笔呢?

2 个答案:

答案 0 :(得分:3)

一旦在XAML内部,你就不能简单地指定资源名称

<Rectangle Stroke="{Binding Source={StaticResource OfferByBrand}}"/>

如果您通过代码及其预定义本身或

进行绑定
<Rectangle Stroke="{DynamicResource OfferByBrand}"/>

如果在res中指定。 另外,您需要通过C#使用

进行访问
Application.Current.Resources["BlaBrush"] as LinearGradientBrush

请查看Resources

答案 1 :(得分:1)

Brush中创建ResourceDictionary资源,然后您可以在控件定义中引用该资源:

<SolidColorBrush x:Key="MyBrush">#727272</SolidColorBrush>

或者:

<SolidColorBrush x:Key="MyBrush" Color="Red"/>

用法:

<Rectangle Stroke="{DynamicResource MyBrush}"/>