在我的自定義控件中,我想要programmaticaly根據選項啓用或禁用工具提示。這是我的圖標模板如何定義的:ToolTip爲空。我如何訪問它?
<Image x:Name="PART_IconImage" Stretch="None" VerticalAlignment="Top" HorizontalAlignment="Center" Source="{TemplateBinding Icon}"
ToolTipService.ToolTip="{TemplateBinding Caption}" />
我使用這個代碼訪問工具提示和啓用/禁用:
// Enable tooltip when caption not shown
if (this.IconImage != null)
{
var toolTip = ToolTipService.GetToolTip(this.IconImage) as ToolTip;
if (toolTip != null)
toolTip.IsEnabled = this.CaptionVisibility.HasValue
? (this.CaptionVisibility.Value == Visibility.Collapsed)
: (this.ParentToolbar.CaptionsVisibility == Visibility.Collapsed);
}
GetToolTip返回null。任何想法爲什麼?
P.S.我在這裏遵循這個建議:How to programmatically access ToolTipService of a Silverlight FrameworkElement? 但它不適用於我。
你可能會糾正,它返回的字符串。我沒有檢查。我不想束縛,因爲這不是我控制的公共財產。我已經通過完全刪除XAML並編寫代碼在我需要時執行'ToolTipService.SetToolTip'來解決此問題。我會標記你的答案,因爲它會按你的方式工作,而且我已經有了我的答案 – katit 2011-12-27 17:24:50