.net 删除ListView中的所有文本块
如何遍历WPF listview中的所有文本块?现在我已经定义了一个样式,我必须应用于每个文本块。看起来像这样.net 删除ListView中的所有文本块,.net,wpf,xaml,.net,Wpf,Xaml,如何遍历WPF listview中的所有文本块?现在我已经定义了一个样式,我必须应用于每个文本块。看起来像这样 <Style x:Key="orderDetailsTextBlock" TargetType="TextBlock" > <Style.Triggers> <DataTrigger Binding="{Binding Status}" Value="Failed"> &
<Style x:Key="orderDetailsTextBlock" TargetType="TextBlock" >
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Failed">
<Setter Property="TextDecorations" Value="Strikethrough" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ordersListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Failed">
<Setter Property="TextBlock.TextDecorations" Value="Strikethrough" />
</DataTrigger>
</Style.Triggers>
</Style>
我想要的是能够在ListViewItem样式块中应用一次
我试着这样做
<Style x:Key="orderDetailsTextBlock" TargetType="TextBlock" >
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Failed">
<Setter Property="TextDecorations" Value="Strikethrough" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ordersListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Failed">
<Setter Property="TextBlock.TextDecorations" Value="Strikethrough" />
</DataTrigger>
</Style.Triggers>
</Style>
但这不起作用。任何帮助都将不胜感激
更新
我更新了ListView的XAML,如下所示
<ListView x:Name="orderDetails" AlternationCount="2" ItemContainerStyle="{StaticResource ordersListViewItemStyle}" >
<ListView.Resources>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="Failed">
<Setter Property="TextDecorations" Value="Strikethrough" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Width="100" Header="Статус" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Path=Status, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
ToolTip="{Binding Path=Message, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
TextAlignment="Center" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
什么也没发生。我做错了什么?删除
TextBlock
样式的x:Key
,并将其放在列表视图中。参考资料
,它应该会自动应用。(请参阅上的备注)您可以在列表视图中定义样式。资源
无需键
,它的范围将限于该特定列表视图
中的所有文本块
例如:
<ListView x:Name="MyListView">
<ListView.Resources>
<Style TargetType="TextBlock">
<!-- Style specific content -->
</Style>
</ListView.Resources>
<!-- ListView content -->
</ListView>