如何在 C# WPF 中将空文本的提示框添加到文本框?

How can I add tootlip of Empty Text to textbox in C# WPF?

我正在尝试向文本框添加工具提示,以便在 TextChangedEvent 中的文本输入为空时显示它, 我已经从这个 post How add and show tooltip textbox WPF if textbox not empty 尝试了这个解决方案

 <Style  x:Key="TextBoxStyle" TargetType="TextBox">
        <Setter Property="Padding" Value="5"/>
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
        <Setter Property="Width" Value="200"/>
        <Style.Triggers>
            <Trigger Property="ToolTip" Value="{x:Static sys:String.Empty}">
                <Setter Property="ToolTipService.IsEnabled" Value="False" />
            </Trigger>
        </Style.Triggers>
    </Style>

但是我得到了这个错误:

Error A 'Binding' cannot be set on the 'Value' property of type 'Trigger'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.

我该如何解决这个问题?

更新:

此外,我想实现类似的东西(没有 MVVM 模式):

来源: Facebook Website

没看懂你想实现什么样的逻辑
据我猜测,这是只在行为空时显示工具提示,或者相反,不显示空行。

这里有两个完全可用的选项。

        <Style  x:Key="TextBoxStyle" TargetType="TextBox">
            <Setter Property="Padding" Value="5"/>
            <Setter Property="HorizontalAlignment" Value="Stretch"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="Width" Value="200"/>
            <Setter Property="ToolTipService.IsEnabled" Value="False"/>
            <Setter Property="ToolTip">
                <Setter.Value>
                    <ToolTip>
                        <TextBlock Text="Hello World!"/>
                    </ToolTip>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Text" Value="{x:Static sys:String.Empty}">
                    <Setter Property="ToolTipService.IsEnabled" Value="True" />
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style  x:Key="TextBoxStyle" TargetType="TextBox">
            <Setter Property="Padding" Value="5"/>
            <Setter Property="HorizontalAlignment" Value="Stretch"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="Width" Value="200"/>
            <Setter Property="ToolTipService.IsEnabled" Value="True"/>
            <Setter Property="ToolTip">
                <Setter.Value>
                    <ToolTip>
                        <TextBlock Text="Hello World!"/>
                    </ToolTip>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="Text" Value="{x:Static sys:String.Empty}">
                    <Setter Property="ToolTipService.IsEnabled" Value="False" />
                </Trigger>
            </Style.Triggers>
        </Style>

使用:

    <TextBox Style="{DynamicResource TextBoxStyle}"/>