我想顯示一個組合框下拉列表作爲文本框,當它被設置爲只讀。出於某種原因,我似乎無法將組合框中選定項目的文本綁定到文本框。這是我的XAML:如何通過樣式模板觸發器在WPF中將組合框顯示爲文本框?
<Style x:Key="EditableDropDown" TargetType="ComboBox">
<Style.Triggers>
<Trigger Property="IsReadOnly" Value="True">
<Setter Property="Background" Value="#FFFFFF" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<TextBox Text="{TemplateBinding SelectedItem, Converter={StaticResource StringCaseConverter}}"
BorderThickness="0"
Background="Transparent"
FontSize="{TemplateBinding FontSize}"
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
FontFamily="{TemplateBinding FontFamily}"
Width="{TemplateBinding Width}"
TextWrapping="Wrap"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
<ComboBox IsReadOnly="{Binding ReadOnlyMode}" Style="{StaticResource EditableDropDown}" Margin="0 0 10 0">
<ComboBoxItem IsSelected="True">Test</ComboBoxItem>
</ComboBox>
當我這樣做,我得到以下爲全文:
System.Windows.Controls.ComboBoxItem:測試
我會很感激的幫助!
這對我來說,雖然我仍然困惑,我不能用另一種方式使用SelectedItemPath – 2010-03-22 14:57:27