我是世界粮食计划署的新手。我有一个绑定到任务列表的WPF ListView。列表中的每个项目都有几个字段,其中一个是字符串字段“Status”。我想要实现的是,当首次加载此ListView并且用户看到它时,所选行将是Status的值,如果为“Fatal”。我可以假设这个功能只能存在具有该状态的单行。 这是我的代码:
<ListView Style="{StaticResource ListViewStyleFC}" ItemsSource="{Binding CompletedCache.SelectedItem.FilteredTask}" x:Name="_taskListView">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource ListViewItemStyleFC}">
<Setter Property="ContextMenu" Value="{StaticResource EmptyContextMenu}"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<Helpers:MinWidthColumnListView MinWidth="50" DisplayMemberBinding="{Binding Name}" Width="200" x:Name="NameHeader">
<GridViewColumnHeader Content="Name"/>
</Helpers:MinWidthColumnListView>
<Helpers:MinWidthColumnListView MinWidth="50" DisplayMemberBinding="{Binding TaskStatus}" Width="100" x:Name="TaskStatusHeader" >
<GridViewColumnHeader Content="Status"/>
</Helpers:MinWidthColumnListView>
<Helpers:MinWidthColumnListView MinWidth="50" DisplayMemberBinding="{Binding RunningComputer}" Width="100" >
<GridViewColumnHeader Content="Machine"/>
</Helpers:MinWidthColumnListView>
<Helpers:MinWidthColumnListView MinWidth="50" DisplayMemberBinding="{Binding Message}" Width="300" >
<GridViewColumnHeader Content="Message"/>
</Helpers:MinWidthColumnListView>
</GridView>
</ListView.View>
</ListView>
我已经完成了一些阅读,并且看到你应该在ListView.ItemContainerStyle的样式中添加一个数据触发器,并提供条件,但是示例非常不清楚,我无法应用它们。任何人都可以帮忙做一个简短的解释和一个具体的例子吗?
谢谢。
答案 0 :(得分:0)
解决了它:
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource ListViewItemStyleFC}">
<Setter Property="ContextMenu" Value="{StaticResource EmptyContextMenu}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=TaskStatus}" Value="Fatal">
<Setter Property="IsSelected" Value="True"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>