2

TabControl で無効になっている TabItems のツールチップが必要です。Silverlight で無効なコントロールにツールヒントを配置する標準的な方法は、ツールヒントを持つダミー要素でコントロールをラップすることですが、そのように TabItem を取得することはできません。TabItems のホスト コントロールは TabPanel であり、有用なプロパティを公開していないようです。

何か案は?

4

2 に答える 2

0

私自身の問題に対する現在の回避策:

「TabPanelTop」テンプレート パーツ (または、TabStripPlacement に応じて左、右、または下) と「TemplateTop」を検出する TabControl Behavior があります。Canvas を TemplateTop (グリッド) に追加し、TabPanelTop の子である TabItems と同じになるように位置 (TransformToVisual を使用) とサイズが計算 (および更新) される透明な四角形で塗りつぶします。

Rectangles の可視性は TabItem IsEnabled の逆にバインドされ、ToolTipService.ToolTip は TabItem の ToolTipService.ToolTip にバインドされます。

少し怖いですが、機能し、使いやすいです。

于 2012-09-13T09:17:46.887 に答える
0

無効なメニュー項目に Toolip を配置することで同じ問題が発生しました。メニュー項目の VisualState を Disabled に変更してから、MouseButton イベントを無効にすることで解決しました。

VisualStateManager.GoToState(tabitem, "Disabled", true);

ただし、VisualState はさまざまなイベントに応じて変化するため、他のイベントには注意する必要があります。これは完全な解決策ではありませんが、特定のシナリオでは機能します。

お役に立てれば

于 2012-09-13T08:19:08.540 に答える