如何在按钮上使用工具栏(它是一个用户控件)来启用等待光标。我有一个 ViewModel 是从 viewmodelBase 继承的。但我不能在工具栏上使用 IsWorking。
下面的代码是工具栏的代码。我点击了选择按钮。数据正在从数据库中选择。光标必须转动等待。选择后,光标必须返回正常。
<Button x:Name="Select"
Content="select"
Command="{Binding SelectCommand }">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Cursor" Value="Arrow"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsWorking}" Value="True">
<Setter Property="Cursor" Value="Wait"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
ViewModelBase.cs: 工具栏没有继承。它是一个基本模型。
private bool _isWorking = false;
public bool IsWorking
{
get { return _isWorking; }
set
{
_isWorking = value;
OnPropertyChanged("IsWorking");
}
}
这是视图模型中的代码:
public class MainViewModel : ViewModelBase
{
public void Select()
{
IsWorking = true; cursor turn to wait mode
// db Process...
IsWorking = false; cursor turn to hand mode
}
}
如何从 ViewModel 与工具栏通信?单击选择光标必须打开等待模式。选择后,光标必须是手形(默认)。