【问题标题】:Please guide me how to code tooltip in xaml请指导我如何在 xaml 中编写工具提示
【发布时间】:2013-08-30 08:10:59
【问题描述】:

在我被分配实现接收范围 1-999 范围内的数字的文本框之前,我从未使用过 WPF 工具提示,如果超出此范围的工具提示将显示在文本框附近,并且当输入超出范围时,文本框将更改为红色边框。请指导我,我尝试在 C# 中绑定 xaml 和函数,但没有任何反应

<TextBox  HorizontalAlignment="Left" Height="31" TextWrapping="Wrap"  VerticalAlignment="Top" Width="276" Margin="73,71,0,0" PreviewTextInput="PreviewTextInput" PreviewKeyDown="TextboxPreviewKeydown" >
        <TextBox.Text>
            <Binding Path="Number">
                <Binding.ValidationRules>
                    <ExceptionValidationRule />
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>

还有我的 C#

public int Number
    {
        get { return num; }
        set 
        {
            num = value;
            if (value <= 0 || value >999)
            {
                throw new ApplicationException("Out of range");
            }
        }

【问题讨论】:

  • msdn.microsoft.com/en-us/library/… 你试过用谷歌搜索 wpf 工具提示吗?
  • 是的,我尝试编码很多次,但结果与我想要的不匹配
  • 那你为什么不发布你的代码,并问你做错了什么?
  • 对不起,我已经添加了我的代码

标签: wpf xaml tooltip


【解决方案1】:

你可以用最简单的方式做到这一点:

        <TextBox Text="{Binding}">
            <TextBox.ToolTip>
                <TextBlock Text="{Binding }"/> // Here you can bind to property or give static value to show in tooltip
            </TextBox.ToolTip>
        </TextBox>

谢谢

【讨论】:

【解决方案2】:

你需要的是建立一个验证规则

您创建一个扩展“ValidationRule”的类(例如“MyValidation”)并实现它 然后在你的 xaml 中,你可以这样做

<TextBox>
  <TextBox.Text>
     <Binding...>
       <Binding.ValidationRules>
          <local:MyValidation/>
       </Binding.ValidationRules>
     </Binding>
  </TextBox.Text>
</TextBox>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2015-09-17
    相关资源
    最近更新 更多