TabControl で無効になっている TabItems のツールチップが必要です。Silverlight で無効なコントロールにツールヒントを配置する標準的な方法は、ツールヒントを持つダミー要素でコントロールをラップすることですが、そのように TabItem を取得することはできません。TabItems のホスト コントロールは TabPanel であり、有用なプロパティを公開していないようです。
何か案は?
TabControl で無効になっている TabItems のツールチップが必要です。Silverlight で無効なコントロールにツールヒントを配置する標準的な方法は、ツールヒントを持つダミー要素でコントロールをラップすることですが、そのように TabItem を取得することはできません。TabItems のホスト コントロールは TabPanel であり、有用なプロパティを公開していないようです。
何か案は?
私自身の問題に対する現在の回避策:
「TabPanelTop」テンプレート パーツ (または、TabStripPlacement に応じて左、右、または下) と「TemplateTop」を検出する TabControl Behavior があります。Canvas を TemplateTop (グリッド) に追加し、TabPanelTop の子である TabItems と同じになるように位置 (TransformToVisual を使用) とサイズが計算 (および更新) される透明な四角形で塗りつぶします。
Rectangles の可視性は TabItem IsEnabled の逆にバインドされ、ToolTipService.ToolTip は TabItem の ToolTipService.ToolTip にバインドされます。
少し怖いですが、機能し、使いやすいです。
無効なメニュー項目に Toolip を配置することで同じ問題が発生しました。メニュー項目の VisualState を Disabled に変更してから、MouseButton イベントを無効にすることで解決しました。
VisualStateManager.GoToState(tabitem, "Disabled", true);
ただし、VisualState はさまざまなイベントに応じて変化するため、他のイベントには注意する必要があります。これは完全な解決策ではありませんが、特定のシナリオでは機能します。
お役に立てれば