我无法通过代码更改UserControl的可见性。有人知道为什么吗?
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVisConverter" />
</Window.Resources>
<Viewbox Stretch="Fill">
<Grid Background="#FF191919">
<local:UserView Visibility="{Binding UserViewVisible, Converter={StaticResource BoolToVisConverter}}"
HorizontalAlignment="Center"
Height="740"
VerticalAlignment="Center"
Width="1290"
Margin="0,0,0,0"/>
</Grid>
</Viewbox>
C#:
class MainWindowViewModel : BindableBase
{
private bool userViewVisible = true;
public bool UserViewVisible
{
get { return userViewVisible; }
set { userViewVisible = value; RaisePropertyChanged("UserViewVisible"); }
}
public MainWindowViewModel()
{
UserViewVisible = false;
}
}
代码正在编译,只是无法正常工作。我不能在构造函数中更改此可见性。我还检查了-绑定设置正确。我不知道为什么这不起作用。我正在寻找20分钟的错字。
我的绑定代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MainWindowViewModel vm = new MainWindowViewModel();
this.DataContext = vm;
}
}