Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 删除ListView中的所有文本块_.net_Wpf_Xaml - Fatal编程技术网

.net 删除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"> &

如何遍历WPF listview中的所有文本块?现在我已经定义了一个样式,我必须应用于每个文本块。看起来像这样

    <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>