我有一个可检查的DropDownButton和一个Grid。
我想将Button的IsChecked参数与网格的可见性值绑定。
如果(可见性==可见)IsCheked = true
我试过这样做:
IsChecked="{Binding ElementName=UsersDockWindow, Path=IsVisible}"
但它不起作用,因为IsVisible是readOnly属性。
答案 0 :(得分:4)
使用BooleanToVisibilityConverter
。以下是how to do the binding使用该转换器的示例。
答案 1 :(得分:1)
创建一个VisibilityToBooleanConverter并在绑定中使用它:
public class VisibilityToBooleanConverter : IValueConverter
{
public object Convert(object value, ...)
{
return (Visibility)value == Visibility.Visible;
}
}
在您的XAML中:
<Window.Resources>
<!-- assuming the local: xmlns is mapped to the appropriate namespace -->
<local:VisibilityToBooleanConverter x:Key="vbc" />
</Window.Resources>
IsChecked="{Binding Visibility,
ElementName=UsersDockWindow,
Converter={StaticResource vbc}}"