按钮可见性绑定不更新

Mar*_*shi 4 vb.net wpf xaml mvvm

我的 Xaml 页面上有一个按钮,它的可见性绑定到一个 Type 变量:SYSTEM.Windows.Visibility在视图模型中,第一次加载页面时,无论我将变量设置为 Hidden 还是 Visible ,它都可以正常工作。但是当我将变量更改为其他状态时执行某些操作后,我的 GUI 不会更新。

这是我的 xaml 和 MVVM

<Button Content="Extend" Name="btnExtend" Command="{Binding ExtendCommand}" Visibility="{Binding isVisible}"  Grid.Row="2" Grid.Column="2" HorizontalAlignment="Right" Width="80" Margin="0,0,100,0" Height="25"/>
Run Code Online (Sandbox Code Playgroud)

和视图模型:

Public Property isVisible As System.Windows.Visibility

Public Sub New()
        isVisible = System.Windows.Visibility.Visible
End Sub

Public Sub diable()
        isVisible = System.Windows.Visibility.Visible
End Sub
Run Code Online (Sandbox Code Playgroud)

我阅读了一些主题以将变量更改为Boolean并使用 a BooleanToVisibilityConverter,我也尝试过,但结果是一样的。

我真的不明白我做错了什么。

Dha*_*tel 5

你的 xaml 代码应该是

<Button Content="Extend" Name="btnExtend" Command="{Binding ExtendCommand}" Visibility="{Binding isVisible,Mode=Twoway}"  Grid.Row="2" Grid.Column="2" HorizontalAlignment="Right" Width="80" Margin="0,0,100,0" Height="25"/>
Run Code Online (Sandbox Code Playgroud)

和你的 Viewmodel 代码应该是

  private Visibility _isVisible ;

public Visibility isVisible 
{
    get { return _isVisible ;}
    set { _isVisible  = value;RaisePropertyChanged("isVisible ");}
}
Run Code Online (Sandbox Code Playgroud)