C# 基于其中一个字段的值预选ListView(WPF)行
我是世界粮食计划署的新成员。我有一个绑定到任务列表的WPF列表视图。列表中的每个项目都有几个字段,其中一个是字符串字段状态。我试图实现的是,当第一次加载此ListView并且用户看到它时,所选行将显示Status的值if Fatal。我可以假设,对于这个特性,最多只能存在一个具有该状态的行。 这是我的密码:C# 基于其中一个字段的值预选ListView(WPF)行,c#,wpf,listview,C#,Wpf,Listview,我是世界粮食计划署的新成员。我有一个绑定到任务列表的WPF列表视图。列表中的每个项目都有几个字段,其中一个是字符串字段状态。我试图实现的是,当第一次加载此ListView并且用户看到它时,所选行将显示Status的值if Fatal。我可以假设,对于这个特性,最多只能存在一个具有该状态的行。 这是我的密码: <ListView Style="{StaticResource ListViewStyleFC}" ItemsSource="{Binding CompletedCache.Sel
<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的样式中添加一个数据触发器,并在那里给出了条件,但是示例非常不清楚,我无法应用它们。有人能提供一个简短的解释和具体的例子吗
谢谢。解决了这个问题:
<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>
你能发布你的代码吗?你可以使用转换器。输入是状态,输出是选定的行索引。@PoweredByOrange:Done。格兰特:是的