我之前从未使用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");
}
}
答案 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>