C# UWP可见性绑定不工作(mvvmlight)

C# UWP可见性绑定不工作(mvvmlight),c#,uwp,viewmodel,mvvm-light,visibility,C#,Uwp,Viewmodel,Mvvm Light,Visibility,我对一件(我认为)简单的事情感到困惑;根据视图模型的绑定使UI元素可见。我使用mvvmlight框架。当绑定(布尔值)设置为true时,可见性绑定不会对更改做出反应 XAML: 视图模型: public class MainViewModel : ViewModelBase { private bool _showNavigationButtons; public RelayCommand BrakingCommand { get; } public bool Show

我对一件(我认为)简单的事情感到困惑;根据视图模型的绑定使UI元素可见。我使用mvvmlight框架。当绑定(布尔值)设置为
true
时,可见性绑定不会对更改做出反应

XAML:

视图模型:

public class MainViewModel : ViewModelBase
{
    private bool _showNavigationButtons;
    public RelayCommand BrakingCommand { get; }

    public bool ShowNavigationButtons
    {
        get => _showNavigationButtons;
        set { Set(() => ShowNavigationButtons, ref _showNavigationButtons, value); }
    }

    public MainViewModel()
    {
        BrakingCommand = new RelayCommand(() =>
        {
            ShowNavigationButtons = true;
            NavigationCommand.RaiseCanExecuteChanged();
        });
     }
}
我还尝试绑定“WPF方式”:

但这导致了完全相同的问题;视图不会对更改的属性作出反应

非常感谢您的帮助,

为了……的爱

问题是绑定的默认模式是一次性。花一个小时来弄清楚。当我声明绑定如下时,它会按预期工作

Visibility="{x:Bind (Visibility) ViewModel.ShowNavigationButtons, Mode=OneWay}">

我希望有一天,这能帮助其他人摆脱困境。

资源
booltVisibilityConverter
是否声明了?是的,是的。但是,对于x:bind语法,这是不必要的
public class MainViewModel : ViewModelBase
{
    private bool _showNavigationButtons;
    public RelayCommand BrakingCommand { get; }

    public bool ShowNavigationButtons
    {
        get => _showNavigationButtons;
        set { Set(() => ShowNavigationButtons, ref _showNavigationButtons, value); }
    }

    public MainViewModel()
    {
        BrakingCommand = new RelayCommand(() =>
        {
            ShowNavigationButtons = true;
            NavigationCommand.RaiseCanExecuteChanged();
        });
     }
}
Visibility="{Binding ShowNavigationButtons, Converter{StaticResource BoolToVisibilityConverter}">
Visibility="{x:Bind (Visibility) ViewModel.ShowNavigationButtons, Mode=OneWay}">