私はCaliburn.Microとバインドされたテキストボックスで動作するようにガード句を取得しようとしています。Guard Clause Not Firing
ビュー:
<TextBox x:Name="UserAccount_DisplayName" Margin="-10,-5,-10,8"/>
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="False">
<shell:ApplicationBar.Buttons>
<cal:AppBarButton IconUri="\Resources\Iconography\appbar.check.rest.png"
Text="Save"
Message="SaveAndNavigateToAddAccountView" />
</shell:ApplicationBar.Buttons>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
のViewModel:
public class EditAccountNameViewModel: PropertyChangedBase
public Account UserAccount
{
get
{
return account;
}
set
{
account = value;
NotifyOfPropertyChange(() => UserAccount);
NotifyOfPropertyChange(() => CanSaveAndNavigateToAddAccountView);
}
}
public bool CanSaveAndNavigateToAddAccountView
{
get
{
if (string.IsNullOrEmpty(UserAccount.DisplayName) == true)
{
return false;
}
return true;
}
}
public void SaveAndNavigateToAddAccountView()
{
CommitAccountToStorage();
navigationService.UriFor<AddAccountViewModel>().Navigate();
}
テキストボックスに入力を開始した後に何らかの理由でガード句が表示されないということは、私が想定していたはずのことです。何か案は?
いや、それは最初の時間を発射(ときにインスタンスのビュー)と、その後の後、それは私が、私は完璧に動作し、別の提案 – deanvmc
を失っていない場合は、入力したときに何もないことトリガを変更したプロパティを追加する必要はありません。 – maciejkow
を追加しましたし、私はdidnの焦点を合わせる:( – deanvmc