我在Windows上有3个CheckBoxes.我想启用Button当使用绑定检查任何此CheckBox时.我知道这样的提示:
<Button IsEnabled={Binding ElementName=CheckBox1,Path=IsChecked} />
Run Code Online (Sandbox Code Playgroud)
但是我希望按钮绑定到其他2个CheckBox.
这该怎么做?
pun*_*r76 10
您可以将MultiBinding与MultiValueConverter一起使用
<Button>
<Button.IsEnabled>
<MultiBinding Converter={StaticResource MultiCheckedToEnabledConverter}>
<Binding ElementName="CheckBox1" Path="IsChecked" />
<Binding ElementName="CheckBox2" Path="IsChecked" />
<Binding ElementName="CheckBox3" Path="IsChecked" />
</MultiBinding>
</Button.IsEnabled>
</Button>
Run Code Online (Sandbox Code Playgroud)
public class MultiCheckedToEnabledConverter : IMultiValueConverter
{
#region Implementation of IMultiValueConverter
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) {
if (values != null) {
return values.OfType<bool>().Any(b => b);
}
return false;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) {
return new object[] {};
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1333 次 |
| 最近记录: |