O.K。,从我之前的帖子中得到一个暗示,简而言之,如何触发附加财产的触发器?
经过更多的试验(以及更多的错误),我想我知道问题出在哪里,但不知道如何修复它。当使用拖放到数据网格时,负责更改DataGridCell背景的触发器仅在第一次删除时触发或加载到未使用的单元格中。除了从单元格中删除数据之外,在这种情况下,单元格返回到行的颜色,单元格的任何进一步使用都会将其背景返回到它具有的第一个单元格特定颜色,并且触发器不再触发。
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Blue" />
<Style.Triggers>
<DataTrigger Value="True">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource watchNameConverter}" ConverterParameter="1">
<Binding RelativeSource="{RelativeSource Self}" Path="Text"></Binding>
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}, AncestorLevel=1}" Path="." />
<Binding RelativeSource="{RelativeSource Self}" Path="."></Binding>
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="Purple"/>
<Setter Property="local:Scheduler.IsDirty" Value="True" />
</DataTrigger>
<Trigger Property="local:Scheduler.IsDirty" Value="true">
<Setter Property="Background">
<Setter.Value>
<MultiBinding Converter="{StaticResource colorTextConverter}" >
<MultiBinding.Bindings>
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}, AncestorLevel=1}" Path="." />
</MultiBinding.Bindings>
</MultiBinding>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>