请指导我如何在xaml中编写工具提示

时间:2013-08-30 08:11:00

标签: wpf xaml tooltip

我之前从未使用WPF,工具提示之前我被指定实现接收1-999范围内的数字的文本框,如果超出此范围,工具提示将显示在文本框附近,而文本框在输入超出范围时更改为红色边框。请指导我尝试在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");
            }
        }

2 个答案:

答案 0 :(得分:0)

以最简单的方式,您可以这样做:

        <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>

由于

答案 1 :(得分:0)

您需要的是构建验证规则

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

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