Когда элементы управления не подлежат изменению, мы отображаем их как TextBox
, чтобы сохранить согласованный стиль.Проблема в том, что ComboBox
может иметь данные любого типа, поэтому привязка свойства Text
к ControlTemplate TextBox
не так проста, как использование SelectedItem
.
<Style TargetType="{x:Type ComboBox}">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBox Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}, Path=????, Converter={StaticResource ResourceKey=ComboToTextConverter}, UpdateSourceTrigger=PropertyChanged}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
Идея, которую я имею, состоит в том, чтобы использовать Converter
и отправить целое ComboBox
, чтобы его можно было обработать с помощью кода Converter
.Есть ли еще способ сделать это?
Любые другие предложения приветствуются!