为日期选择器后端WPF的文本框上色
本文关键字:文本 WPF 日期 选择器 后端 | 更新日期: 2023-09-27 18:24:27
我想更改边框日期选择器的颜色,我在xaml代码中看到了更改的解决方案,但我想在后端更改它。
我的代码:
public static bool checkDate(DatePicker dpk)
{
TextBox tb = (TextBox)dpk.Template.FindName("PART_TextBox", dpk);
Border bd = (Border)tb.Template.FindName("Bd", tb);
if (dpk.SelectedDate == null)
{
bd.BorderBrush = Brushes.Red;
return false;
}
bd.BorderBrush = Brushes.Black;
return true;
}
我使用没有问题
Border bd = (Border)tb.Template.FindName("Bd", tb);
但我在着色时遇到了一个nullException错误,显然它无法检测到日期选择器在这段代码中使用的文本框的边框。有什么建议吗?
如果我正确理解您的意图,您将尝试进行一些数据验证并突出显示缺失的字段。下面的示例应该有效;除了文本框部分,没有必要再看了
public static bool checkDate(DatePicker dpk)
{
TextBox tb = (TextBox)dpk.Template.FindName("PART_TextBox", dpk);
if (dpk.SelectedDate == null)
{
tb.BorderThickness = new Thickness(2);
tb.BorderBrush = Brushes.Red;
return false;
}
tb.BorderThickness = new Thickness(0);
tb.BorderBrush = Brushes.Black;
return true;
}
将来,请尝试使用http://snoopwpf.codeplex.com/在运行时查看可用的零件/属性-这将为您节省大量时间