Silverlight Windows Phone上静态资源的转换器
希望这应该是一个简单的,我有一个矩形的背景,我想显示为手机的重点颜色或禁用的颜色基于布尔在我的视图模型 我假设转换器是一种方法,但不确定访问静态资源的语法Silverlight Windows Phone上静态资源的转换器,silverlight,windows-phone-7,Silverlight,Windows Phone 7,希望这应该是一个简单的,我有一个矩形的背景,我想显示为手机的重点颜色或禁用的颜色基于布尔在我的视图模型 我假设转换器是一种方法,但不确定访问静态资源的语法 <Rectangle.Fill> <SolidColorBrush Color="{StaticResource PhoneAccentColor}"/> </Rectangle.Fill> 您有两个选择: 使用 在viewmodel上定义一个属性,该属性基于布尔值返回笔刷。我更喜欢这种解决方案
<Rectangle.Fill>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}"/>
</Rectangle.Fill>
您有两个选择:
从这篇博客文章中获取通用
BoolToValueConverter
的代码:-
在您的代码中,还应包含将转换器转换为电刷的专业知识:-
public class BoolToBrushConverter : BoolToValueConverter<Brush> { }
公共类BoolToBrushConverter:BoolToValueConverter{}
现在将转换器添加到Xaml中,如下所示:-
<Grid.Resources>
<local:BoolToBrushConverter x:Key="DisabledBrushConv"
FalseValue="{StaticResource PhoneAccentBrush}"
TrueValue="{StaticResource PhoneDisabledBrush}" />
</Grid>
然后在矩形中:-
<Rectangle Fill="{Binding Disabled, Converter={StaticResource DisabledBrushConv}}" ... />
这假定视图模型中的属性名为已禁用