WPF:如何删除DatePickerTextBox中的红色边框?

时间:2013-11-07 20:57:33

标签: wpf .net-4.0 datepicker border

我在前一个小时内一直在寻找解决方案,但我找不到。

我的问题只是我想在文本框为空时禁用红色边框。我真的不想禁用validationError,即使我也尝试过,但它也是一个很大的失败。我真的不知道该怎么做。

如果有人知道,我将成为你一生的仆人(或差不多:))

谢谢!

我的DatePicker(我不知道它是否有用)

<DatePicker Grid.Row="0" Grid.Column="1" Margin="2" Visibility="{Binding Path=RuleItem.Type, Converter={StaticResource RecurringRuleToVisibilityConverter}, ConverterParameter=Inverted}"
                    Text="{Binding Path=ActiveTo, Converter={StaticResource DatesRuleToSelectedDatePickerConverter}, Mode=TwoWay, ValidatesOnDataErrors=False, ValidatesOnExceptions=False}"
                    SelectedDateFormat="Short"
                    DisplayDateStart="{Binding Path=ActiveTo, Converter={StaticResource SelectedDateToStartEndDatePickerConverter}, ConverterParameter=Start}"
                    DisplayDateEnd="{Binding Path=ActiveTo, Converter={StaticResource SelectedDateToStartEndDatePickerConverter}, ConverterParameter=End}" 
                    FirstDayOfWeek="Monday"
                    Width="130">
        </DatePicker>

3 个答案:

答案 0 :(得分:2)

在您的控件中使用

Validation.ErrorTemplate="{x:Null}"

像这样:

<igWPF:XamDateTimeEditor  Validation.ErrorTemplate="{x:Null}"  AutoFillDate="MonthAndYear" Text="{Binding SelectedToDate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsToDatePickerEnabled}"/>

答案 1 :(得分:1)

老问题,但这是一个可能的解决方案。在DatePickerTextBox的{​​{1}}内ControlTemplate(或者DatePicker,如果您替换它),请将属性TextBox设置为{{1} }}。请记住,这将阻止所有验证工作(如果它有任何其他;从来没有考虑过,但为了我的目的,这工作得很好,因为我不想要任何,不管怎样),而不仅仅是那个创建红色空文本边框。

答案 2 :(得分:0)

编写您自己的验证规则,包括Text.Empty,而不是错误。有关编写验证规则,请参阅this