如何在XAML中显示工具提示?

3

我是一名使用WPF MVVM编写应用程序的开发者。我有一个视图模型,其中包含一个名为IsFolderSelected的属性,如下所示:

public class SelectFolderViewModel : ViewModelBase
{        
    public bool IsFolderSelected
    {
        get
        {
            return _isFolderSelected;
        }

        set
        {
            if (_isFolderSelected == value)
            {
                return;
            }

            _isFolderSelected = value;
            RaisePropertyChanged(IsFolderSelectedPropertyName);
        }
    }
 }

And i have a TextBox element in XAML:

        <TextBox 
             Text="{Binding Path=FolderPath}"
             ToolTip="Please select folder"/>

当属性IsFolderSelected == false时,我该如何强制从TextBox显示工具提示?
1个回答

6
为了保持你的MVVM模型,我认为使用工具提示会很困难。你可以使用弹出窗口并绑定IsOpen属性。
<TextBox Grid.Row="1" x:Name="folder"
     Text="{Binding Path=FolderPath}"
     ToolTip=""/>
</TextBox>

<Popup PlacementTarget="{Binding ElementName=folder}" IsOpen="{Binding IsFolderSelected, Mode=TwoWay}">
    <Border Margin="1">
        <TextBlock Background="White" Foreground="Black" Text="Please select folder"></TextBlock>
    </Border>
</Popup>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接