代码之家  ›  专栏  ›  技术社区  ›  Ali Jebali

在MVVM WinUI 3中使用ProgressRing

  •  0
  • Ali Jebali  · 技术社区  · 1 年前

    我的xaml中有一个ProgressRing,在处理我的命令时,它将旋转:

    <ProgressRing Name="progressRing" IsActive="{Binding ProgressActive}" />
    

    正如绑定中的名称所示,我有一个bool属性。在命令的第一行,我启用(True)这个值,并希望看到进度环。我在调试时测试了它,值正在更改,但显示器上什么也没有。我使用了单向和双向模式。

    若我为绑定属性设置了一个默认值,那个么当我运行时它会起作用,但当应用程序正在运行并希望使用ViewModel和Command进行更改时,它就不会起作用。

    这样地:

    public bool ProgressActive { get; set; } = true;
    

    谢谢

    1 回复  |  直到 1 年前
        1
  •  1
  •   Andrew KeepCoding    1 年前

    您需要通过实现INotifyPropertyChanged来通知UI属性已更改。我总是使用CommunityToolkit。Mvvm NuGet包。

    public partial class ViewModel : ObservableObject
    {
        // This will create an UI interactive ProgressActive property for you.
        [ObservableProperty]
        private bool _progressActive;
    }
    
    推荐文章