我的绑定转换有什么问题?
|
我有单选按钮,我想定义单选按钮.isChecked状态和某些堆栈面板的可见性之间的绑定,所以我写了这个convert方法:
public class RadioBtnState2Visible : IValueConverter
{
public object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{
return ( bool )value == true ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{
return ( Visibility )value == Visibility.Visible ? true : false;
}
}
然后进行绑定-xaml:
<local:PageEx.Resources>
<local:RadioBtnState2Visible x:Key=\"Convert\" />
</local:PageEx.Resources>
<RadioButton x:Name=\"MyRadioBtn1\" GroupName=\"group1\" />
<RadioButton x:Name=\"MyRadioBtn2\" GroupName=\"group1\" />
<StackPanel Visibility=\"{Binding ElementName=MyRadioBtn1, Path=IsChecked, Converter={StaticResource Convert}}\" />
但是什么都行不通!
堆栈面板的可见性状态始终为可见!
我做错了什么?
没有找到相关结果
已邀请:
3 个回复
荤碗
我还应该提到,我还必须在堆栈面板中实际放一些东西,以查看更改,因为默认情况下它不会崩溃:)我假设您实际上在真正的堆栈面板中有内容。 只是为了解释这里发生了什么。通过在资源声明中添加\“ local:\”,实际上是在封装资源实例,而不更改当前资源。 \“ Convert \”引用它不起作用,因为它无法在期望找到的位置找到资源。
蜗仓馈
耐扫鹤胶鞭
,而是
1 因此,您的代码应为:
它应该工作得更好。