我有一个View(.xaml),里面有另一个视图“embedded”:
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
</Window.Resources>
<Grid DataContext="{Binding Path=My_ViewModel}" Visibility="{Binding Path=My_Visibility, Converter={StaticResource BooleanToVisibilityConverter}}">
<Views:My_View/>
</Grid>
我有一个更改My_Visibility值的Button。
protected void ExecHideMyView()
{
My_Visibility = false;
NotifyPropertyChanged("My_Visibility");
}
但它根本不会改变可见度。我尝试了以下方法:
public
ExecHideMyView()
是否真的被调用,是的是。Visibility=...
作为<Views:My_View/>
。现在我没有想法......感谢任何建议。
修改:我删除了DataContext="{Binding Path=My_ViewModel}"
,它突然起作用了。似乎存在问题。
答案 0 :(得分:1)
问题在于,当我设置DataContext="{Binding Path=My_ViewModel}"
时,它搜索My_Visibility
内的My_ViewModel
而不是主ViewModel。
因此,解决方案是将My_Visibility
移至My_ViewModel
内。