C#:Caliburn Micro:如何使用数据绑定控制 WPF 按钮的属性?

C#: Caliburn Micro: How do I control the properties of a WPF Button using data binding?

当用户按下按钮时,我希望该按钮消失并被确认按钮取代。下面的代码是我认为会使按钮消失的代码,但是当我单击该按钮时,没有任何反应。 DeleteButton() 方法使用 Caliburn Micro 约定正确连接到 XAML。如何从 ViewModel 控制按钮的可见性或任何其他 属性?谢谢

XAML:

<Button x:Name="DeleteButton" Visibility="{Binding DeleteButtonVisibility}"/>

视图模型:

    bool _deleteButtonVisibility = true;

    public bool DeleteButtonVisibility
    {
        get { return _deleteButtonVisibility; }
        set
        {
            _deleteButtonVisibility = value;
            NotifyOfPropertyChange(() => DeleteButtonVisibility);
        }
    }

    public void DeleteButton()
    {
        DeleteButtonVisibility = false;
    }

可见性不是布尔值,它是 System.Windows.Visibility

试试这个:

    Visibility _deleteButtonVisibility = Visibility.Visible;

    public Visibility DeleteButtonVisibility
    {
        get { return _deleteButtonVisibility; }
        set
        {
            _deleteButtonVisibility = value;
            NotifyOfPropertyChange(() => DeleteButtonVisibility);
        }
    }

    public void DeleteButton()
    {
        DeleteButtonVisibility = Visibility.Collapsed;
    }