如何以正確的案例文本作爲用戶以WPF格式輸入它。我正在使用下面的代碼來做適當的套管工作正常,但我無法弄清楚如何在用戶輸入上做到這一點。在WPF中輸入正確的案例文本
Microsoft.VisualBasic.Strings.StrConv(txt.Text,VbStrConv.ProperCase,0);
如何以正確的案例文本作爲用戶以WPF格式輸入它。我正在使用下面的代碼來做適當的套管工作正常,但我無法弄清楚如何在用戶輸入上做到這一點。在WPF中輸入正確的案例文本
Microsoft.VisualBasic.Strings.StrConv(txt.Text,VbStrConv.ProperCase,0);
TextInfo txtinfo = Thread.CurrentThread.CurrentCulture.TextInfo;
string titleCaseString = txtinfo.ToTitleCase(theString);
要在數據綁定工作,這一點,你可以寫一個WPF綁定轉換器和添加此邏輯存在。
<TextBox>
<TextBox.Text>
<Binding Path="ViewModelProperty" Converter="{StaticResource TitleCaseConverter}" UpdateSourceTrigger="PropertyChanged" />
</TextBox.Text>
</TextBox>
您會希望在您的文本控件的Key_Down(或Up)事件中使用您擁有的或Jobi發佈的代碼。
在我們的應用程序中,我們有一個自定義的TextBox,我們已經重寫了PreviewTextInput事件來在那裏執行驗證(我們正在驗證對正則表達式的輸入並防止字符被添加,如果它是無效的) - 也許你可以做一些事情類似?
雖然我之前在自定義TextBoxed時遇到了問題,但插入到字符串開頭的插入符號卻是我無法完全掌握的東西,但不記得我們如何解決它。
我有點晚了,但下面的DLL大寫,因爲你鍵入任何WPF控件,包括完全停止後(這是水的另一邊的那些期間!),逗號等,所以它的行爲多一點,如Word ...
http://www.mardymonkey.co.uk/blog/index.php/2010/01/auto-capitalise-a-text-control-in-wpf/
我不認爲KeyDown事件會工作,因爲它激發之前擊鍵已添加到文本框的文本屬性。我需要將整個字符串作爲實體來確定哪些字符需要大寫。如果我使用TextChanged事件,並將text屬性的值設置爲轉換的文本值,則光標始終位於文本字符串的前面,這意味着用戶從右向左進行了有效輸入。希望你有任何其他建議。 – Mairead 2009-11-19 17:45:10
我剛剛失蹤 txt.Select(txt.Text.Length,0); 謝謝Nate Bross – Mairead 2009-11-19 17:55:56