Silverlight 응용 프로그램의 텍스트 상자에 double 유형의 속성을 바인딩하고 텍스트 상자의 값을 변경하는 응용 프로그램을 실행하는 동안 커서가 사용자가 값을 입력 할 수 없도록 처음으로 이동합니다. .커서 재설정 관련 쿼리
예 : 사용자가 99999.9를 입력하려고하는 경우 99999 값 뒤에 "."을 입력하려고합니다. 커서가 첫 번째 위치로 이동하여 사용자가 입력 할 수 없게 됨 99999.9
이 문제는 UpdateSourceTrigger = PropertyChanged를 텍스트 바인딩 속성에 추가 할 때 발생합니다. 이 속성을 제거하면 텍스트 상자가 정상적으로 작동합니다.
이 문제를 해결할 수 있도록 도와주세요.
감사
XAML : textlength에의 TextChanged 이벤트를 사용하고 설정 지정한 selectionStart의 속성하십시오
<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");
}
}
이는'하는 DependencyProperty를 사용하여 고정 될 수 있습니다 '대신? –
'PropertyChanged' 이벤트를 발생시키는 것 이외의'OnPropertyChanged' 메소드에서 어떤 일이 발생합니까? 제공된 코드를 사용하여 설명한 동작을 재현 할 수 없었습니다. –
이 문제는 서버에서 응용 프로그램을 호스팅하고 로컬에서 링크를 탐색 할 때 발생했습니다. – Everest