我正在尝试根据项目的状态将静态资源绑定到视图模型项。视图中有一个项目列表。
ViewModel有一个布尔属性State。 View有一个ItemsControl绑定到ObservableCollection
我为每个所需的项目定义了两个资源字符串 如何根据State的值显示正确的字符串?
谢谢, 埃里克
答案 0 :(得分:0)
要使用静态资源,您可以使用ObjectDataProvider
。要根据布尔值将其绑定到View,您可以使用正确的Converter
答案 1 :(得分:0)
使用转换器绑定。
以下是一个例子:
<config:BoolToBrushConverter x:Key="Bool2Brush"
TrueBrush="{StaticResource OKStatusBrush}"
FalseBrush="{StaticResource ErrorStatusBrush}" />
<TextBlock Name="tbx1" Grid.Row="2" Grid.Column="1"
Background="{Binding Path=State, Converter={StaticResource Bool2Brush}}"...
了解如何启用自定义转换器以接受资源?只需在资源中定义转换器并引用您需要的两个。然后让Binding了解你的转换器。