ComboBoxを使用してフォントサイズを保存および入力したいと思います。
そこで、を作成ComboBox
しIsEditable
てtrueに設定しました。
そして今、問題が発生しました。ComboBoxのテキストボックスに入力のみを強制する方法がわかりませんdouble
。
これどうやってするの?手伝ってくれませんか。
ありがとうございました。
PreviewTextInput
とDataObject.Pasting
イベントを処理できます。このようなもの:
private void ComboBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = !IsValid(e.Text);
}
private void ComboBox_Pasting(object sender, DataObjectPastingEventArgs e)
{
if (!e.DataObject.GetDataPresent(typeof(string)) || !IsValid(e.DataObject.GetData(typeof(string)) as string))
e.CancelCommand();
}
private static bool IsValid(string s)
{
double d;
return double.TryParse(s, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out d);
}
XAML:
<ComboBox IsEditable="True" PreviewTextInput="ComboBox_PreviewTextInput"
DataObject.Pasting="ComboBox_Pasting" ... >
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加