我定义了一个自定义画笔,如How to define and use resources in xaml so they can be used in C#中所述。
但是,当我尝试将此内容分配给Shape.Fill
或Shape.Stroke
属性时:
<Rectangle Stroke="MyBrush"/>
我的应用程序崩溃了XamlParseException
。那么如何仅使用XAML代码来分配自定义画笔呢?
答案 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}"/>