「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.04.20
XML
カテゴリ: C#.NET


IDataErrorInfo インターフェースを使用して入力検証を行い、画面上に検証エラー内容を表示する方法は、先ほどのサンプルコードに既に含まれています。各 TextBox の横にエラーメッセージを表示する方法は、前回の回答に記載されていますが、以下に再度説明します。


XAML ファイルで、TextBox の横にエラーメッセージを表示するためのスタイルを定義します。



<Window x:Class="YourNamespace.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="Input Validation Sample" Height="200" Width="300">

    <Window.Resources>

        <Style TargetType="TextBox">

            <Setter Property="Validation.ErrorTemplate">

                <Setter.Value>

                    <ControlTemplate>

                        <StackPanel>

                            <AdornedElementPlaceholder x:Name="textBox"/>

                            <TextBlock Text="{Binding [0].ErrorContent}" Foreground="Red"/>

                        </StackPanel>

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

    </Window.Resources>

    <Grid>

        <StackPanel>

            <TextBox Text="{Binding Name, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"

                     Margin="10"/>

            <TextBox Text="{Binding Age, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}"

                     Margin="10"/>

        </StackPanel>

    </Grid>

</Window>

```


この XAML コードでは、TextBox の横に検証エラーメッセージを表示するためのスタイルが定義されています。エラーメッセージは、Validation.ErrorTemplate を使用して TextBox の横に配置され、赤色のテキストで表示されます。


このように設定すると、各 TextBox に入力された値が検証に失敗した場合、該当する TextBox の横に赤色のテキストでエラーメッセージが表示されます。エラーメッセージは、IDataErrorInfo インターフェースのインデクサで取得され、バインデングされたプロパティ名に基づいて表示されます。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.04.20 12:22:33


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: