当前位置: 首页 > 知识库问答 >
问题:

组合框 - 无法更改选择/无法选择

杨良才
2023-03-14

我有一个带有组合框的xaml。由于某种原因,我在那里有一些项目,我不能选择它们,当我选择一个项目时,它通常不允许我更改我的选择,如果它更改了,它仅适用于某些值。这是代码

<ComboBox SelectedItem="{Binding CurrentUsers}">
    < ComboBox.ItemsSource>
          <MultiBinding Converter="{StaticResource DictionaryKeyToValueConverter"} Mode="OneWay">
               < Binding Path="AllUsersByDepartment"/>
               < Binding Path = " Department"/ >
          < / MultiBinding>
     < / ComboBox.ItemsSource>
     < ComboBox.ItemContainerStyle>
         <Style TargetType = " { x : Type ComboBoxItem}">
              < Setter Property = " IsEnabled">
                   < Setter.Value>
                        <MultiBinding Converter = "{StaticResource DictionaryKeyToValueConverter}" Mode="OneWay " / >
                             <Binding Path = " DataContext.UserToAvailabilityDictionary" RelativeSource ="{RelativeSource Mode=FindAncestor,  AncestorType = { x : Type ComboBox}}"/>
                            < Binding Path = ". "/>
                        < / MultiBinding >
                     < / Setter.Value>
                  </Setter>
             < Style.Triggers >
                 < Trigger Property="IsEnabled " Value = " False " >
                    <Setter Property = " Template">
                        < Setter.Value >
                            < ControlTemplate>
                                < TextBlock Text="{Binding Path=Description}" Foreground="Red"/>
                            < / ControlTemplate>
                        < / Setter.Value>
                      </Setter>
                 < / Trigger>
             < / Style.Triggers
         </Style >
    </ComboBox.ItemContainerStyle >
     < ComboBox.ItemTemplate>
        < DataTemplate>
            < ComboBoxItem Content="{Binding Path=Description}"/>
        < / DataTemplate > 
     </ComboBox.ItemTemplate >
  </ComboBox>

我希望我写的很清楚,因为我把它从电脑复制到了手机上。基本上,我有所有的用户,并按部门对他们进行分类。用户只能看到他所在部门的文档,并且可以选择绑定词典中可用的文档。如果不可用,组合框中的项目将为红色且不可检查。这个管用。唯一没有改变的是改变某些项目的选择,有些项目一开始就不可选择(尽管它们没有被染成红色,但应该是)。我在Equals方法中将用户的对象改为总是返回false,因为我知道这可能是问题所在,但这没有帮助。提前感谢。

更新:我删除了组合框项目和模板的样式,我可以选择任何东西。但我真的需要触发器和样式。

共有1个答案

苏选
2023-03-14

我删除了ComboBox. Item模板,而是在ComboBox中放置了一个DisplayMemerPath,现在它可以工作了。

 类似资料:
  • 我已经实现了,这样我的船舶列表就会根据国家和船舶类型进行更改,但问题是我无法选择任何船舶。 你知道我哪里出了问题吗? 上面是Controller类中的。 上面是视图类中的setter。

  • 这是我第二次发布相同的问题,直到现在都没有得到答案。 我有一个组合框,下面是商店(ExtJs 2.3) 组合存储: 分配 会议 工资 我在键上过滤组合,这样“薪水”项就不会显示在列表中,它工作正常。但是由于组合框项也可以通过键入iside combobox来选择,所以我在组合框的keyUp和beforeQuery上编写了以下代码。 这成功地过滤掉了“薪水”选项,但现在我无法像以前一样通过键入内部组

  • 问题内容: 在对话框中,如果选中了某个组合,则需要显示一组控件,否则显示另一组控件。即我需要2层,并且当组合被选中/未选中时,我需要在它们之间切换。我怎样才能做到这一点? 问题答案: CardLayout 为此,如下所示。

  • 你好,我正在开发angularjs应用程序。我显示了复选框的列表。我有下面的代码。

  • 问题内容: 我有桌子: 当我直接通过MySQL查询时,它可以按我的要求完美运行 但是,当我尝试将此查询转换为ActiveRecord语法时,它返回nil。 如您所见,两个示例中的最终查询均相等。为什么在ActiveRecord情况下不起作用? 在我的rails项目中使用Rails 4.0.0,Ruby 2.0和mysql db。 问题答案: 我认为您对控制台输出感到有些困惑。 你是这样说的: 因此

  • 问题内容: 我正在尝试更改select option边界,但是无法做到这一点,我已经尝试了很多次,但是找不到合适的解决方案。我已经附上了屏幕截图。 问题答案: 选择的下拉列表是所谓的ShadowDOM的一部分。在当前的CSS规范第3级中,无法定位大多数ShadowDOM元素。您可以在此处阅读有关ShadowDOM的规范,尽管关于所需内容的内容并不多。 Chrome有一些专有的选择器可以更改某些 s