WPF绑定到备用静态资源

时间:2013-12-05 19:08:49

标签: c# wpf binding staticresource

我正在尝试根据项目的状态将静态资源绑定到视图模型项。视图中有一个项目列表。

ViewModel有一个布尔属性State。 View有一个ItemsControl绑定到ObservableCollection

我为每个所需的项目定义了两个资源字符串 如何根据State的值显示正确的字符串?

谢谢, 埃里克

2 个答案:

答案 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了解你的转换器。