【发布时间】:2018-02-26 17:28:08
【问题描述】:
我在 WPF 项目中使用 MaterialDesign 和 Xceed IntegerUpDown 控件。当鼠标悬停在控件上时,我正在尝试将与 updown 控件相关的错误显示为工具提示。
通过使用以下全局样式,我已将其与 TextBoxes 和 TextBlocks 一起使用:
<Style TargetType="{x:Type TextBox}"
BasedOn="{StaticResource CustomizedMaterialDesignTextBox}" >
<Setter Property="Margin" Value="5"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip DataContext="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget}"
Background="{DynamicResource ValidationErrorBrush}">
<ItemsControl ItemsSource="{Binding Path=(Validation.Errors)}"
DisplayMemberPath="ErrorContent"/>
</ToolTip>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
但是当我尝试如下调整它以适应 updown 控件时,没有显示任何工具提示:
<Style TargetType="{x:Type xctk:IntegerUpDown}">
<Setter Property="Margin" Value="5"/>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip DataContext="{Binding RelativeSource={RelativeSource Self}, Path=PlacementTarget}"
Background="{DynamicResource ValidationErrorBrush}">
<ItemsControl ItemsSource="{Binding Path=(Validation.Errors)}"
DisplayMemberPath="ErrorContent"/>
</ToolTip>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
当应用程序在 VS 2017 调试器中运行并触发错误条件时,输出窗口中不会显示有关失败绑定或其他内容的错误消息。
有趣的是,当存在错误条件时,控件周围会出现一个红色边框,即使没有自定义 updown 样式。
【问题讨论】:
标签: c# wpf xaml wpftoolkit xceed