在 XAML 中应用自定义画笔
Apply custom brush in XAML
我定义了自定义画笔,如 How to define and use resources in xaml so they can be used in C# 中所述。
然而,当我尝试将其分配给 Shape.Fill
或 Shape.Stroke
属性 时,如下所示:
<Rectangle Stroke="MyBrush"/>
我的应用程序崩溃 XamlParseException
。那么如何仅使用 XAML 代码分配自定义画笔?
在 ResourceDictionary
中创建一个 Brush
资源,然后您可以在您的控件定义中引用它:
<SolidColorBrush x:Key="MyBrush">#727272</SolidColorBrush>
或者:
<SolidColorBrush x:Key="MyBrush" Color="Red"/>
用法:
<Rectangle Stroke="{DynamicResource MyBrush}"/>
一旦进入 XAML 就不能简单地指定资源名称
<Rectangle Stroke="{Binding Source={StaticResource OfferByBrand}}"/>
如果您是通过代码进行绑定,并且它本身就是预定义的,或者
<Rectangle Stroke="{DynamicResource OfferByBrand}"/>
如果在 res 中指定。
否则如回答您需要使用
通过 C# 访问
Application.Current.Resources["BlaBrush"] as LinearGradientBrush
一定要去看看 Resources
我定义了自定义画笔,如 How to define and use resources in xaml so they can be used in C# 中所述。
然而,当我尝试将其分配给 Shape.Fill
或 Shape.Stroke
属性 时,如下所示:
<Rectangle Stroke="MyBrush"/>
我的应用程序崩溃 XamlParseException
。那么如何仅使用 XAML 代码分配自定义画笔?
在 ResourceDictionary
中创建一个 Brush
资源,然后您可以在您的控件定义中引用它:
<SolidColorBrush x:Key="MyBrush">#727272</SolidColorBrush>
或者:
<SolidColorBrush x:Key="MyBrush" Color="Red"/>
用法:
<Rectangle Stroke="{DynamicResource MyBrush}"/>
一旦进入 XAML 就不能简单地指定资源名称
<Rectangle Stroke="{Binding Source={StaticResource OfferByBrand}}"/>
如果您是通过代码进行绑定,并且它本身就是预定义的,或者
<Rectangle Stroke="{DynamicResource OfferByBrand}"/>
如果在 res 中指定。 否则如回答您需要使用
通过 C# 访问Application.Current.Resources["BlaBrush"] as LinearGradientBrush
一定要去看看 Resources