组合框能力

本文关键字:能力 组合 | 更新日期: 2023-09-27 18:20:09

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

例:

我有一个名为"项目"的ComboBox和另一个名为"序列号"的。 当我从相应的下拉列表中选择任何项目时,它会相应地更改序列号组合框集合。

我想要的是当我选择一个项目时,如果根据所选项目没有序列号,我想禁用"序列号"ComboBox

我该怎么做?

组合框能力

如果组合

框为空,则要禁用它。我说的对吗?为此,您可以创建一个转换器

这是你的组合框

<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;
    }...