我在前一个小时内一直在寻找解决方案,但我找不到。
我的问题只是我想在文本框为空时禁用红色边框。我真的不想禁用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>
答案 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。