c# - 如果文本框不为空,如何添加和显示工具提示文本框 WPF

标签 c# wpf

需要显示一个提示,其中包含来自文本字段的数据。如果文本框有数据则提示出现。

最佳答案

只需使用绑定(bind)到 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();
    }
}

关于c# - 如果文本框不为空,如何添加和显示工具提示文本框 WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11925113/

相关文章:

c# - WinForms 中的 WPF : blocked on Dispatcher. 尽管 UI 线程处于事件状态但仍调用

WPF RichTextBox TextChanged 事件 - 如何查找已删除或插入的文本?

wpf - 如何在数据模板中实例化 ViewModel

c# - 如何在桌面应用程序中使用 DbContext 和 DI?

c# - 使用 C# 更改 jpeg 图像的分辨率

c# - 如何找出哪个进程启动了我的exe?

c# - 未在 View 模型内的模型上调用验证方法

c# - 如何从模态窗口调用 WPF 主窗口的方法?

c# - 如何在 C# WPF 中发出异步 Web 请求

c# - 将 newtonsoft 代码转换为 .net core 中的 System.Text.Json 3. JObject.Parse 和 JsonProperty 的等效项