希望这应该是一个简单的,我有一个矩形的背景我希望在我的视图模型中显示为手机强调颜色或基于布尔值的禁用颜色。
我认为转换器是可行的方法,但不确定访问静态资源的语法。
<Rectangle.Fill>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}"/>
</Rectangle.Fill>
答案 0 :(得分:11)
从此博客文章中获取通用BoolToValueConverter
的代码: -
A Generic Boolean Value Converter
在您的代码中还包含转换为Brush的专业化: -
public class BoolToBrushConverter : BoolToValueConverter<Brush> { }
现在将转换器添加到您的Xaml中,如下所示: -
<Grid.Resources>
<local:BoolToBrushConverter x:Key="DisabledBrushConv"
FalseValue="{StaticResource PhoneAccentBrush}"
TrueValue="{StaticResource PhoneDisabledBrush}" />
</Grid>
然后在矩形中: -
<Rectangle Fill="{Binding Disabled, Converter={StaticResource DisabledBrushConv}}" ... />
这假定视图模型中的属性称为Disabled
。
答案 1 :(得分:0)
您有两种选择: