我想将一个ComboBox与CheckBox绑定,以便在CheckBox 未选中时启用ComboBox 。 我可以直接在xaml文件中执行此操作,而无需在代码中添加任何其他变量吗? 在下面的代码中,当myCheckBox 被ckecked 时启用myComboBox。
<ComboBox Name="myComboBox" SelectedIndex="0"
IsEnabled="{Binding ElementName=myCheckBox, Path=IsChecked}">
答案 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>