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 回答