如何根据正在设置的其他字段获取工具提示?

时间:2012-10-17 19:42:00

标签: c# wpf tooltip

这是我的代码:

public string Units
    {
        get { return (string)GetValue(UnitsProperty); }
        set { SetValue(UnitsToolTipVisibility, Visibility.Visible);
                SetValue(UnitsProperty, value); }
    }
    public static readonly DependencyProperty UnitsProperty = DependencyProperty.Register("Units", typeof(string), typeof(UserInputOutput));
    public static readonly DependencyProperty UnitsToolTipVisibility = DependencyProperty.Register("UnitsToolTipVisibility", typeof(Visibility), typeof(UserInputOutput), new UIPropertyMetadata(Visibility.Visible));

我的目标: 当Units变量设置时,我希望UserControl的这个实例的工具提示变为可见。

我想我会以错误的方式解决这个问题。我有很多很多UserControl实例。当实例设置了Units字符串时,该实例的工具提示应该是可见的。

1 个答案:

答案 0 :(得分:1)

在XAML中使用触发器会更容易。你可以完全摆脱UnitsToolTipVisibilityProperty

<ToolTip>
   <ToolTip.Resources>
      <Style TargetType="ToolTip">
         <Style.Triggers>
              <!-- hide tooltip when no unit set -->
              <DataTrigger Binding="{Binding Units}" Value="{x:Null}">
                  <Setter Property="Visibility" Value="Collapsed" />
              </DataTrigger>
          </Style.Triggers>
       </Style>
    </ToolTip.Resources?
</ToolTip>