【问题标题】:Set Validation Tooltip in CodeBehind instead of XAML在 CodeBehind 而不是 XAML 中设置验证工具提示
【发布时间】:2011-08-11 02:02:30
【问题描述】:

我想知道如何将以下代码转换为代码隐藏而不是 XAML:

<Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
        <Setter Property="ToolTip"
          Value="{Binding RelativeSource={RelativeSource Self},
          Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
</Style.Triggers>

我不知道的部分是路径部分。我有以下,但它不起作用:

new Trigger
{
    Property = Validation.HasErrorProperty,
    Value = true,
    Setters = 
    {
        new Setter
        {
            Property = Control.ToolTipProperty,
            // This part doesn't seem to work
            Value = new Binding("(Validation.Errors)[0].ErrorContent"){RelativeSource = RelativeSource.Self}
         }
     }
 }

帮助?

【问题讨论】:

    标签: wpf validation xaml tooltip code-behind


    【解决方案1】:

    【讨论】:

    • 我的问题不是一般如何在代码中创建绑定……而是在这种特殊情况下我如何做到这一点。我不知道如何绑定到验证错误。对此案例的具体帮助将不胜感激。
    【解决方案2】:

    所以我终于想通了。事实证明,我在错误的属性上设置了触发器。当我需要将它应用到 ElementStyle 时,我试图在 DataGridTextColumn CellStyle 上设置它。工作代码如下:

    new DataGridTextColumn
    {
        Header = i + 1,
        Binding = new Binding(string.Format("[{0}].Value", i)) { ValidatesOnDataErrors = true, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged },
        ElementStyle = new Style
        {
            TargetType = typeof(TextBlock),
            Triggers =
            {        
                new Trigger
                {
                    Property = Validation.HasErrorProperty,
                    Value = true,
                    Setters = 
                    {
                        new Setter
                        {
                             Property = Control.ToolTipProperty,
                             Value = new Binding("(Validation.Errors)[0].ErrorContent"){RelativeSource = RelativeSource.Self}
                        }
                    }
                }
            }
         }, ...etc
    

    【讨论】:

      猜你喜欢
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2016-01-16
      相关资源
      最近更新 更多