Binding.ValidatesOnExceptions プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ExceptionValidationRule を含めるかどうかを示す値を取得または設定します。
public:
property bool ValidatesOnExceptions { bool get(); void set(bool value); };
public bool ValidatesOnExceptions { get; set; }
member this.ValidatesOnExceptions : bool with get, set
Public Property ValidatesOnExceptions As Boolean
プロパティ値
ExceptionValidationRule を含める場合は true
。それ以外の場合は false
。
例
次の例では、 を使用 ValidatesOnExceptions して のユーザー入力を TextBox検証します。 最初の例では、 プロパティが無効なプロパティに設定されている場合に例外を Age
スローするデータ型を作成します。
public class PersonThrowException
{
private int age;
public int Age
{
get { return age; }
set
{
if (value < 0 || value > 150)
{
throw new ArgumentException("Age must not be less than 0 or greater than 150.");
}
age = value;
}
}
}
Public Class PersonThrowException
Private m_age As Integer
Public Property Age() As Integer
Get
Return m_age
End Get
Set(ByVal value As Integer)
If value < 0 OrElse value > 150 Then
Throw New ArgumentException("Age must not be less than 0 or greater than 150.")
End If
m_age = value
End Set
End Property
End Class
次の例では、 プロパティを Age
にTextBoxバインドし、 で を にtrue
設定ValidatesOnExceptionsしますBinding。 ユーザーが無効な値を入力すると、 に TextBox 赤い罫線が表示され、エラー メッセージが ToolTip 報告されます。
<StackPanel Margin="20">
<StackPanel.Resources>
<src:PersonThrowException x:Key="data"/>
<!--The tool tip for the TextBox to display the validation error message.-->
<Style x:Key="textBoxInError" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBlock>Enter your age:</TextBlock>
<TextBox Style="{StaticResource textBoxInError}">
<TextBox.Text>
<!--By setting ValidatesOnExceptions to True, it checks for exceptions
that are thrown during the update of the source property.
An alternative syntax is to add <ExceptionValidationRule/> within
the <Binding.ValidationRules> section.-->
<Binding Path="Age" Source="{StaticResource data}"
ValidatesOnExceptions="True"
UpdateSourceTrigger="PropertyChanged">
</Binding>
</TextBox.Text>
</TextBox>
<TextBlock>Mouse-over to see the validation error message.</TextBlock>
</StackPanel>
注釈
このプロパティを設定すると、 要素を明示的に使用 ExceptionValidationRule する代わりに使用できます。 ExceptionValidationRuleは、ソース プロパティの更新中にスローされる例外をチェックする組み込みの検証規則です。 例外がスローされた場合、バインド エンジンは 例外を含む を ValidationError 作成し、バインドされた要素のコレクションに Validation.Errors 追加します。 エラーがない場合、別のルールで検証の問題が発生しない限り、この検証フィードバックはクリアされます。
ValidatesOnExceptionsは、.NET Framework バージョン 3.5 で導入されています。 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。
適用対象
こちらもご覧ください
.NET