我在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时调用。显示App Bar的后续调用不会触发对IsEnabled属性的检查。
每次显示AppBar时,你是否需要设置一些东西让XAML调用属性?
任何帮助都将不胜感激。
答案 0 :(得分:1)
您必须使用SetProperty方法为 IsAbleToProcessTimesheet 定义 SET 。您可以使用 INotifyPropertyChanged
从抽象类BindableBase继承