2016-05-12 67 views
-1

我們如何更改綁定到轉換器的文本框的文本?更新正在編輯的轉換器中的文本框

我想要這樣,當用戶輸入文本時,它會被轉換器直接糾正。

其實,每一次嘗試都失敗了。

看來,當用戶輸入時,轉換器不能引發TextBox更新爲新值。

謝謝。

更新1:

我使用的Windows Phone 8.1

下面是其中當轉換器改變它的值將不改變文本框:

<TextBox x:Name="CardNumber" Text="{Binding DisplayedCardNumber, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, Converter={StaticResource MyFormatter}}" Style="{StaticResource TextField}" TextChanged="CardNumber_TextChanged" /> 

更新2

  1. 用戶鍵入 「2」 在TextBox
  2. 的轉換器綁定到文本被稱爲(因爲PropertyChanged)
  3. 轉換器將文本值設置爲「02」
  4. 轉換器已經更新了源值,也就是現在的「02」
  5. 用戶仍然可以看到「2」,在他的TextBox
  6. 什麼我必須做的,這樣的文本框被更新?

我調試了一切,但轉換器的值更改不會反映在用戶輸入時的TextBox本身。

+1

您是否嘗試過綁定設置'UpdateSourceTrigger'這樣的:'{文本裝訂,UpdateSourceTrigger =的PropertyChanged} '? – Pikoh

+0

嘗試在「TextBox」的「TextChanged」事件上。 –

+0

您需要創建一個用戶控件。 – mohsen

回答

0

如果需要更新屬性只輸入按鍵後, 檢查此鏈接

Bind TextBox on Enter-key press

+0

用戶仍在鍵入時必須更改。 – pinkvoid

+0

提供有關您的要求的更多信息。並且還提供您的轉換器代碼 –

+0

我更新了我的問題。它是一個標準的轉換器,只是返回一個字符串,讓我們說「foobar」。 TextBox源值得到更新,但TextBox本身不顯示新值,但僅顯示用戶鍵入的內容。 – pinkvoid

相關問題