我正在尝试在ListView中显示一个值,具体取决于布尔值的状态,但它不起作用。你能告诉我我做错了什么吗?
<ListView x:Name="LiViTest" Grid.ColumnSpan="4" Margin="0,0.01,0,0" Grid.Row="1" SelectionMode="Single">
<ListView.View>
<GridView>
<GridViewColumn Header=" numb " >
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="TxtTest" />
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=boolTest}">
<DataTrigger.Value>
<sys:Boolean>False</sys:Boolean>
</DataTrigger.Value>
<Setter TargetName="TxtTest" Property="Text" Value="test false"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=boolTest}">
<DataTrigger.Value>
<sys:Boolean>True</sys:Boolean>
</DataTrigger.Value>
<Setter TargetName="TxtTest" Property="Text" Value="test true"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
答案 0 :(得分:1)
您的代码运行正常,或者如果您拥有正确的数据结构,它可以正常工作。要使此功能正常,boolTest
属性必须是bool
中项目的GridView
属性。
或者,如果您尝试将数据绑定到位于外部 boolTest
的单个GridView
属性,那么您将需要使用不同的{{1} }}。但是,这实际上取决于您设置Binding
的方式。
假设您的某个类的实例已将所需的DataContext
属性设置为boolTest
,则可以使用Window.DataContext
来访问它:
RelativeSource Binding