XAML ReadOnly ComboBox

Tia*_*eal 6 wpf xaml combobox readonly

要设置只读ComboBox在XAML(WPF),你必须建立一个ComboBoxTextBox出根据对性能只是其中之一IsReadOnly/ IsEditable必须存在于您ViewModel.请注意,在此示例中," UserNVL"必须存在于资源中,它应该是NameValueList允许我们转换ID为名称的集合.在这种情况下,它RecipientID是用户名的键.另请注意VisibilityConverter,资源中也必须存在,它是标准BooleanToVisibilityConverter.

天哪!这很难找到,我必须自己做.这允许用户选择文本框的内容.残疾人ComboBox绝不会允许你这样做.

小智 5

有两个名为IsHitTestVisible和IsTabVisible的属性.前者使控制耳聋的鼠标事件和后者的键盘事件.这可以帮助你,因为它不会给你的组合框提供禁用的外观,但你会成功制作一个只读的组合框.来源: - http://www.telerik.com/community/forums/wpf/combobox/ isreadonly此结果似乎对work.aspx


Tia*_*eal 2

<DockPanel>
  <TextBlock Text="Recipient" Margin="6,9,3,6" HorizontalAlignment="Right"/>
  <ComboBox
      x:Name="RecipientID"
      ItemsSource="{Binding Source={StaticResource UserNVL}}"
      DisplayMemberPath="Value"
      SelectedValuePath="Key"
      SelectedValue="{Binding Path=RecipientID}"
      Height="20"
      Margin="6,6,0,6"
      MinWidth="200"
      HorizontalAlignment="Left"
      IsEditable ="True"
      Visibility="{Binding Path=IsEditable, Converter={StaticResource VisibilityConverter}}"/>
  <TextBox
      x:Name="RecipientName"
      Text="{Binding ElementName=RecipientID, Path=Text}"
      Margin="6,6,0,6"
      MinWidth="200"
      HorizontalAlignment="Left"
      Style="{StaticResource textBoxInError}"
      Visibility="{Binding Path=IsReadOnly, Converter={StaticResource VisibilityConverter}}"/>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)