2012-10-04 33 views
0

我們結合型雙到Silverlight應用程序的文本框的屬性重置查詢,在運行上改變文本框中的值的應用,光標移動到第一個地方不允許用戶輸入的值。關於光標

例如:「」如果用戶試圖進入99999.9之後,當我們試圖進入價值99999 ,光標前進到第一位置從而不允許用戶輸入99999.9

此問題發生,當我們在文本框結合屬性添加UpdateSourceTrigger =的PropertyChanged。當我們刪除這個屬性時,文本框以正常的方式工作。

請幫我resovle這個問題。

感謝

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"); 
    } 
} 
+0

難道這通過使用'的DependencyProperty固定「而不是? –

+0

除了引發'PropertyChanged'事件之外,你的'OnPropertyChanged'方法中發生了什麼?我無法重現您使用提供的代碼描述的行爲。 –

+0

當我們在服務器上託管應用程序並從本地瀏覽鏈接時發生這種情況。 – Everest

回答

0

請使用TextChanged事件,並在該組selectionstart財產正文長度

+0

我已經使用txtUtil.SelectionStart = txtUtil.Text.Length。這不會重置光標位置。但是,這引發了其他問題,如不允許我輸入小數點「。」直到我輸入最大長度的數字。例如,如果文本框的最大長度爲10,則直到我進入所有的10位數字是不是讓我你爲什麼要使用最大長度,如果您的號碼長度大於10 – Everest

+0

只有10位數和兩位小數 – CognitiveDesire

+0

我們有一個要求,即控制應該接受輸入小數點 – Everest