1

我在 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;
    }
}

在属性上设置断点表明它仅在第一次显示 App Bar 时被调用。显示应用栏的后续调用不会触发对 IsEnabled 属性的检查。

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

任何帮助,将不胜感激。

4

1 回答 1

1

您必须使用 SetProperty 方法为IsAbleToProcessTimesheet定义SET 。您可以使用INotifyPropertyChanged从抽象类 BindableBase 继承

于 2013-08-23T13:52:27.577 回答