Я использую мой конвертер, как это:ConvertBack не уволили
<ControlTemplate TargetType="{x:Type TabItem}">
<Border Name="Border"
Background="{Binding
Path=ConversationState,
Converter={StaticResource conversationStatusConverter},
Mode=TwoWay,
NotifyOnSourceUpdated=true,
ValidatesOnExceptions=True,
UpdateSourceTrigger=PropertyChanged}" >
Это мое определение Триггеры:
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="Background" Value="DeepPink" />
</Trigger>
<Trigger Property="IsSelected" Value="False">
<Setter TargetName="Border" Property="Background" Value="LightGray" />
</Trigger>
</ControlTemplate.Triggers>
И моя спина новообращенный метод:
public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
if (value.ToString() == "DeepPink")
return ConversationStatus.Active;
else if (value.ToString() == "Orange")
return ConversationStatus.UnseenMessage;
else if (value.ToString() == "LightGray")
return ConversationStatus.Inactive;
else return DependencyProperty.UnsetValue;
}
Когда , фон переходит в темно-розовый, но модель никогда не изменяется, состояние остается прежним. Источник для целевых работ (конвертировать ok), целевой источник в триггере через isselected свойство элемента табуляции, ничего не делает на модели. большое спасибо!
Как вы можете сказать, что преобразование (вперед) работает, если статус остается прежним. Триггер, каскадирующий в конвертер - я не думаю, что он был предназначен для использования таким образом. Я не понимаю, почему вы не можете обработать IsSelected из TabItem. – Paparazzi