WinRT XAML IsEnabled仅激发一次

本文关键字:一次 XAML IsEnabled WinRT | 更新日期: 2023-09-27 18:28:58

我在AppBar上有一个按钮,我已将其设置为在ViewModel中的属性为true时启用。由于某些原因,只有在第一次显示AppBar时才会检查IsEnabled绑定。我错过什么了吗?

这是我在视图中的按钮XAML(为了清晰起见,省略了AppBar-XAML):

<Button  Style="{StaticResource DocumentAppBarButtonStyle}" AutomationProperties.Name="Approve" 
  Command="{Binding ApproveTimesheetCommand, Mode=OneWay}" 
  IsEnabled="{Binding IsAbleToProcessTimesheet, Mode=OneWay}" />

这是我在ViewModel中的属性:

public bool IsAbleToProcessTimesheet
{
    get
    {
        return SelectedTimesheets.Count() > 0;
    }
}

在属性上设置断点表明,只有在应用程序栏第一次显示时才会调用它。显示应用程序栏的后续调用不会激发对IsEnabled属性的检查。

每次显示AppBar时,是否需要设置一些内容以使XAML调用该属性?

如有任何帮助,我们将不胜感激。

WinRT XAML IsEnabled仅激发一次

您必须使用SetProperty方法为IsAbleToProcessTimesheet定义SET。您可以使用INotifyPropertyChanged

从抽象类BindableBase继承