我想知道为什么这个不起作用:
<DataGrid AlternationCount="2"...
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Binding="{Binding AlternationIndex, RelativeSource={RelativeSource Self}}" Value="0" />
<Condition Binding="{Binding IsTicket}" Value="False" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="Background" Value="White" />
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>此代码抛出InvalidOperationException“必须具有‘Property’的非空值”。IsTiket是Datagrid绑定到的Datacontext的属性
这段代码可以工作,但我需要MultiTrigger:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="White" />
</Trigger>
<DataTrigger Binding="{Binding IsTicket}" Value="True">
<DataTrigger.Setters>
<Setter Property="Background" Value="Gold" />
</DataTrigger.Setters>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>解决方案:语法错误,我必须使用MultiDataTrigger:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding AlternationIndex, RelativeSource={RelativeSource Self}}" Value="0" />
<Condition Binding="{Binding IsTicket}" Value="False" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="Background" Value="White" />
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>发布于 2018-04-03 20:02:34
您使用的是多触发器,而不是多数据触发器。试一试
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=AlternationIndex, RelativeSource={RelativeSource Self}}" Value="0" />
<Condition Binding="{Binding IsTicket}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="White" />
</MultiDataTrigger>
</Style.Triggers>
</Style>https://stackoverflow.com/questions/49628771
复制相似问题