私はユーザーの入力を確認するこの検証方法を持っています。入力が間違っているか不足している場合は、テキストブロックの境界を赤に設定します。それ以外の場合はリセットします。しかし、このコードはまったく動作しません。時には境界線が赤に設定され、それ以外のときなどはそうではありません。それは、コントロール自体が再描画されていないのとほぼ同じですか?Windows Phone 7 BorderBrushは一度しか設定できません。
私は間違っていますか?
private SolidColorBrush _errorBorderBrush = new SolidColorBrush(Colors.Red);
private SolidColorBrush _normalBorderBrush = new SolidColorBrush(Colors.Black);
private bool Validate()
{
if(txtName.Text == string.Empty)
{
txtName.BorderBrush = _errorBorderBrush;
return false;
}
else
{
txtName.BorderBrush = _normalBorderBrush;
}
if (pwdPassword.Password == string.Empty)
{
pwdPassword.BorderBrush = _errorBorderBrush;
return false;
}
else
{
pwdPassword.BorderBrush = _normalBorderBrush;
}
...
}
いいえ、そうではありません。たとえば、メソッドを呼び出すと、txtNameが空の場合、境界線は赤色になります。私がtxtNameのテキストですぐにそれを呼び出すと、境界線は消えません。 – Dylan