ListView样式触发器可更改字符串格式

时间:2018-05-07 22:32:32

标签: wpf xaml listview

我正在尝试使用样式触发器向listview.item添加星号。但是,下面的代码似乎忽略了ContentStringFormat。项目的背景设置为红色正确。有人可以发现为什么ContentStringFormat的setter属性不起作用?

<ListView.Resources>
      <Style TargetType="{x:Type ListViewItem}">
          <Style.Triggers>
              <DataTrigger Binding="{Binding Path=IsTrue}" Value="true">
                  <Setter Property="Background" Value="Red"/>
                   <Setter Property="ContentStringFormat" Value="{}{0} *}"/>
                    </DataTrigger>
           </Style.Triggers>
     </Style>
</ListView.Resources>

1 个答案:

答案 0 :(得分:1)

刚刚测试了您的代码,可以确认ContentFormatString末尾的花括号是导致问题的原因。删除它并像这样使用它:

<ListView.Resources>
    <Style TargetType="{x:Type ListViewItem}">
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=IsTrue}" Value="true">
                <Setter Property="Background" Value="Red"/>
                <Setter Property="ContentStringFormat" Value="{}{0} *"/><!-- Here is the change-->
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ListView.Resources>