0

Double 型のプロパティを Silverlight アプリケーションのテキスト ボックスにバインドしています。アプリケーションを実行してテキスト ボックスの値を変更すると、カーソルが最初の位置に移動し、ユーザーが値を入力できなくなります。

例: ユーザーが 99999.9 を入力しようとしている場合、99999 の値の後に "." を入力しようとしています。、カーソルが最初の位置に移動するため、ユーザーは 99999.9 を入力できません

この問題は、テキスト ボックス バインド プロパティに UpdateSourceTrigger=PropertyChanged を追加すると発生します。このプロパティを削除すると、テキスト ボックスは通常どおりに機能します。

この問題を解決するのを手伝ってください。

ありがとう

XAML:

<TextBox x:Name="txtUtil" IsReadOnly="{Binding IsReadable,Mode=TwoWay}" Text="{Binding Utilization,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True,ValidatesOnExceptions=True}" Width="70" Height="30"/>

C#

public double Utilization { 
  get { return utilization; } 
  set { utilization = value; 
        OnPropertyChanged("Utilization");
  }
}
4

1 に答える 1

0

textchanged イベントを使用し、selectionstart プロパティを textlength に設定してください

于 2012-10-04T12:31:36.620 に答える