Триггер не срабатывает при изменении свойства обьекта, внутри Tag
Мне нужно изменить TabItem's margin, когда одно из свойств обьекта, содержащегося в TabItem's Tag меняется на определенное значение. Свойство меняется событийно в модели. На вьюшке я прибиндил значение свойства обьекта содержащегося внутри Tag выбранного TabItem, он адекватно изменяется. Для анимированного сдвига, я реализовал DataTrigger и конвертер, для получения значения свойства.
`<DataTrigger Binding="{Binding Path=Tag, Mode=Default,RelativeSource= {RelativeSource Mode=Self}, Converter={StaticResource TabItemConverter}}">
<DataTrigger.Value>
<PumpState:PUMP_STATE>ACTIVATED</PumpState:PUMP_STATE>
</DataTrigger.Value>
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ThicknessAnimation To="0,0,13,1" Duration="0:0:0.355"
Storyboard.TargetName="Border" Storyboard.TargetProperty="Margin">
</ThicknessAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ThicknessAnimation
To="7,0,3,1"
Duration="0:0:0.355"
Storyboard.TargetName="Border"
Storyboard.TargetProperty="Margin"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>`
Код конвертера
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return false;
}
if (value is Vendor)
{
var vendor = (Vendor)value;
return vendor.State;
}
Триггер срабатывает только один раз, при изменении значения в самом триггере. При изменении значения свойства, ничего не происходит. Подскажите пожалуйста в чем причина. Не могу разобраться.