我是 WPF 和 MVVM 的新手,所以请多多包涵。
基本上,我正在创建一个应用程序,使用户能够将他们的组织详细信息输入数据库。
在我正在创建的 WPF 应用程序中,我有一个View Model
包含properties
,commands
和entity framework
方法(我知道这不是使用 MVVM 的正确方法,但我正在慢慢学习如何实现它)。
在我的一个视图中,它是一个选项卡控件,允许用户在数据库中输入不同的组织详细信息,然后在另一个视图中,我有一个数据网格来显示他们输入的内容,以便用户在何时更新内容需要。
这引出了我的问题。到目前为止,我已经验证了我的命令,以便当某些字段为空时,按钮将不会处于活动状态,但一旦输入,它们就会被激活。像这样;
private ICommand showAddCommand;
public ICommand ShowAddCommand
{
get
{
if (this.showAddCommand == null)
{
this.showAddCommand = new RelayCommand(this.SaveFormExecute, this.SaveFormCanExecute);//i => this.InsertOrganisation()
}
return this.showAddCommand;
}
}
private bool SaveFormCanExecute()
{
return !string.IsNullOrEmpty(OrganisationName) && !string.IsNullOrEmpty(Address) && !string.IsNullOrEmpty(Country) && !string.IsNullOrEmpty(Postcode)
&& !string.IsNullOrEmpty(PhoneNumber) && !string.IsNullOrEmpty(MobileNumber) && !string.IsNullOrEmpty(PracticeStructure) && !string.IsNullOrEmpty(PracticeType) && !string.IsNullOrEmpty(RegistrationNumber);
}
private void SaveFormExecute()
{
InsertOrganisations();
}
Xaml:
<Button Content="Save" Grid.Column="1" Grid.Row="18" x:Name="btnSave" VerticalAlignment="Bottom" Width="75" Command="{Binding ShowAddCommand}"/>
但我希望实现的是,一旦用户在 1 个组织中进入数据库,则该命令不会完全激活并防止用户意外进入另一个组织。目的是只允许添加 1 个组织,不多也不少。
这可能吗?