需要显示提示,其中包含来自文本字段的数据。如果文本框有数据,提示显示。如何添加和显示工具提示文本框WPF如果文本框不为空
1
A
回答
4
只需使用绑定到ToolTipService附加属性。 XAML:
<UserControl.Resources>
<converters:IsStringNonemptyConverter x:Key="ToolTipVisibilityConveter" />
</UserControl.Resources>
<TextBox Name="textBox" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150"
ToolTipService.ToolTip="{Binding Text, RelativeSource={RelativeSource Self}}"
ToolTipService.IsEnabled="{Binding Text, RelativeSource={RelativeSource Self}, Converter={StaticResource ToolTipVisibilityConveter}}"/>
转换器:
internal sealed class IsStringNonemptyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return !String.IsNullOrEmpty(value as string);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
3
您可以使用触发器禁用的工具提示。将这种风格在你的窗口或应用程序的资源,以便它可以在这取决于你的选择在你的窗口或应用程序的所有文本框共享 -
<Style x:Key="{x:Type TextBox}" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="ToolTip" Value="{x:Static sys:String.Empty}">
<Setter Property="ToolTipService.IsEnabled" Value="False" />
</Trigger>
</Style.Triggers>
确保您的系统命名空间添加到您的XAML -
xmlns:sys="clr-namespace:System;assembly=mscorlib"
0
我试着用可见性模式& TextChange事件。当没有文本时,ToolTip不可见。可能对别人有用。 的XAML:
<TextBox Height="23" Width="100" Name="myTextBox" TextChanged="myTextBox_TextChanged" >
<TextBox.ToolTip>
<ToolTip Visibility="Hidden">
<TextBlock Name="toolTipTextBlock"></TextBlock>
</ToolTip>
</TextBox.ToolTip>
</TextBox>
TextChange事件处理程序:
private void myTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox tb = sender as TextBox;
if (tb.Text.Trim() == "")
{
((ToolTip)tb.ToolTip).Visibility = Visibility.Hidden;
}
else
{
toolTipTextBlock.Text = tb.Text;
((ToolTip)tb.ToolTip).Visibility = Visibility.Visible;
}
}
1
我有这个问题我自己想通了不同的解决方案。我知道这个问题已经回答了,但就像我仍然会有人碰到这个问题来了,我想和大家分享我的解决方案:背后
XAML
<TextBox Name="textBox1" ToolTip="{Binding Text, RelativeSource={RelativeSource Self}}" ToolTipService.IsEnabled="False"/>
代码
private void textBox1_TextChanged(object sender, TextChangedEventArgs e) { if (textBox1.Text.Length > 0) { ToolTipService.SetIsEnabled(textBox1, true); } }
我希望这有助于某人。
相关问题
- 1. WPF - 显示文本框工具提示
- 2. 显示文本框工具提示
- 3. 如何向WPF文本框添加提示文本?
- 4. 工具提示文本框
- 5. 文本框边框不显示 - WPF
- 6. 如果文本框为空不工作
- 7. 如果文本框为空或使用C#显示消息框
- 8. 文本框验证工具提示中不显示
- 9. 如何在JQuery中为文本框制作工具提示?
- 10. 如何让HTML文本框在空时显示提示?
- 11. HTML文本框输入工具提示?
- 12. C#中的工具提示文本框#
- 13. 文本框的气球工具提示
- 14. 将工具提示添加到抖动文本框
- 15. Wpf Datagrid不显示文本框数据?
- 16. c# - 如何设置文本框中的文本显示提示时,文本框是空的?
- 17. 如果文本框为空,如何填充文本框?
- 18. WPF:基于光标显示并保留文本框的工具提示
- 19. 如果文本框为空,则使用文本框为单元格添加值
- 20. asp.net:treeview - 显示文本框,如果选中?
- 21. 如何在使用dojo的文本框旁边添加工具提示
- 22. ASP.NET GridView如果行为空,则显示文本框
- 23. 显示一个div,如果文本框为空(NG-重复)
- 24. 如何显示无效输入到文本框的工具提示
- 25. 关于文本框和按钮的JQuery基本工具提示
- 26. 显示工具提示,以MouseHover文本
- 27. Matlab编辑文本框 - 显示提示?
- 28. 不保存,如果文本框为空
- 29. C#文本框不显示
- 30. 文本框不显示