0

View Model にプロパティがあります

public const string WelcomeTitlePropertyName = "WelcomeTitle";

    private string _welcomeTitle = string.Empty;

    /// <summary>
    /// Gets the WelcomeTitle property.
    /// Changes to that property's value raise the PropertyChanged event. 
    /// </summary>
    public string WelcomeTitle
    {
        get
        {
            return _welcomeTitle;
        }

        set
        {
            RaisePropertyChanging(WelcomeTitlePropertyName);
            _welcomeTitle = value;
            RaisePropertyChanged(WelcomeTitlePropertyName);
        }
    }

これはテキストボックスに接続されており、2 方向バインディングがあります。

現在、「WelcomeTitle」プロパティの現在の長さを取得する必要がある KeyDown イベントがあります。

  public ICommand AutoComplete
        {
            get
            {
               return new RelayCommand<KeyEventArgs>(e =>
                {
                    var length = WelcomeTitle.Length;
               });
            }
        }

はい、私が見つけたのは、ユーザーがテキストボックスを離れるまで WelcomeTitle プロパティが更新されないことです。長さ(および後で WelcomeTitle の現在の値)とキーダウンを知る必要があるため、これは機能しません。

どうすればこれを回避できますか? コードビハインドでは、これは問題ありません。

4

1 に答える 1

0

UpdateSourceTrigger="PropertyChanged"WPF では、バインディングを設定することで簡単に実現できます。残念ながら、これは Windows Phone では不可能なため、回避策が必要です。この質問では、いくつかのオプションについて説明しています。

于 2013-07-12T00:00:53.640 に答える