1

重複の可能性:
WPF のテキスト ボックスでの検証

現在、このコードを使用して数値のみのテキストボックスを作成しています

Xaml

<TextBox Height="22" HorizontalAlignment="Left" Margin="192,118,0,0" Name="Unit_ID"  VerticalAlignment="Top" Width="173" PreviewTextInput="UnitID_PreviewTextInput" TextInput="Unit_ID_TextInput" TextChanged="Unit_ID_TextChanged" /> 

および C# コードビハインド

 private void UnitID_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            foreach (char c in e.Text)
                if (!Char.IsDigit(c))
                {
                    e.Handled = true;
                    break;
                }

XAML を排他的に使用してこれを行うことは可能ですか?.cs ファイルを最小化しようとしています。

4

2 に答える 2

3

TextBoxのText属性の値をintにバインドすると、MyIntの値をint(およびTextBoxの境界線)以外に設定できない限り、一種の検証が行われます。試してみると赤くなります)。

XAMLの場合:

<TextBox Text="{Binding MyInt}"/>

プレゼンターの場合:

public class MyPresenter : INotifyPropertyChanged
{
    public int MyInt { get; set; }
    // ...
}

XAMLのDataContextをMyPresenterのインスタンスに設定します。

于 2012-04-05T08:35:09.423 に答える
0

純粋な HTML を使用してこれを行うことができないのと同様に、(私の知る限り) XAML のみを使用することはできません。「少ないほどよい」という哲学全体を理解していますが、この場合、入力を検証するために、少なくとも正規表現などのコードが必要になります。

于 2012-04-05T08:22:22.017 に答える