【问题标题】:Combobox Enablity [duplicate]组合框启用[重复]
【发布时间】:2013-06-28 06:39:00
【问题描述】:

我的DataGrid 中有两个ComboBox 控件,我想根据另一个中的项目选择设置一个ComboBoxEnable 状态。

例子:

我有一个名为“Item”的ComboBox,另一个名为“SerialNumber”。当我从相应的下拉菜单中选择任何项目时,它会相应地更改 SerialNumber ComboBox 集合。

我想要的是当我选择一个项目时,如果没有根据所选项目的SerialNumber,我想禁用“SerialNumber”ComboBox

我该怎么做?

【问题讨论】:

  • 请阅读FAQ如何写好问题并提供一些代码,以便我们了解您如何将数据加载到组合框中。

标签: c# wpf combobox wpfdatagrid


【解决方案1】:

如果组合框为空,您想禁用它。我对吗? 为此,您可以创建一个转换器

这是你的组合框

<ComboBox [...]
   Visibility="{Binding RelativeSource={RelativeSource Self}, Path=ItemsSource, Converter={StaticResource HiddenWithNoElementConverter}}"  />

这是您可以使用该资源的资源

<UserControl.Resources>
    <local:HiddenWithNoElementConverter x:Key="HiddenWithNoElementConverter"/>
</UserControl.Resources>

这是你的转换器类

    class HiddenWithNoElementConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value == null)
            return Visibility.Collapsed;
        if((value as IEnumerable<string>).Count() == 0)
        {
            return Visibility.Collapsed;
        }
        return Visibility.Visible;
    }...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2011-07-09
    相关资源
    最近更新 更多