WPF将ComboBox与CheckBox绑定

时间:2016-09-01 07:10:48

标签: c# wpf xaml checkbox combobox

我想将一个ComboBox与CheckBox绑定,以便在CheckBox 未选中时启用ComboBox 。 我可以直接在xaml文件中执行此操作,而无需在代码中添加任何其他变量吗? 在下面的代码中,当myCheckBox 被ckecked 时启用myComboBox。

<ComboBox Name="myComboBox" SelectedIndex="0" 
     IsEnabled="{Binding ElementName=myCheckBox, Path=IsChecked}">

1 个答案:

答案 0 :(得分:4)

您需要一个转换器将布尔值转换为它的反转值。为了做到这一点,首先创建一个继承自IValueConverter的类,如下所示:

@RestController
@RequestMapping("rest/datasets")
public class DatasetController {

    @RequestMapping(method = RequestMethod.POST)
    public String uploadFile(
        @RequestParam("file") MultipartFile file) {
        ...
    }
}

然后你需要在这样的资源中添加转换器:

public sealed class InvertedBooleanConverter : IValueConverter
{
    public Object Convert( Object value, Type targetType, Object parameter, CultureInfo culture )
    {
        if ( value is Boolean )
        {
            return (Boolean)value ? false : true;
        }

        return null;
    }


    public Object ConvertBack( Object value, Type targetType, Object parameter, CultureInfo culture )
    {
        throw new NotImplementedException();
    }
}

最后只需将转换器添加到绑定中,如下所示:

<Window.Resources>
    <local:InvertedBooleanConverter x:Key="InvertedBooleanConverter" />
</Window.Resources>