0

WPF 拡張ツールキット RangeSlider の RangeSlider ウィジェットは、スライダーの 2 つのつまみのそれぞれの値に double を使用します。

スライダーを使用して、DateTime の下限と DateTime の上限を指定しています。これを行うには、DateTime を double として表すプロパティにバインドする必要があります (基本的に DateTime.Ticks は double にキャストされます)。

RangeSlider のつまみにカーソルを合わせると、表示されるツールチップは double の値ですが、代わりに人間が読める日付を表示したいと考えています。変換は簡単にできますが、次のようになります。

つまみのツールチップにカスタム テキストを表示するには、RangeSlider を取得するにはどうすればよいですか?

あまり魅力的ではない (しかし十分な) 代替手段は、単につまみのツールチップを完全に無効にすることです。この代替案の解決策もとらえどころのないものであることが証明されています。

念のため、JetBrains 逆コンパイラを使用して RangeSlider.cs のコードを調べてみましたが、未熟な私の目には有望な手がかりは得られませんでした。

4

1 に答える 1

0

表示される ToolTip は、RangeSlider のテンプレートで使用される Slider の AutoToolTip からのものです。

Slider は AutoToolTipPlacement と AutoToolTipPrecision を公開しますが、ToolTip に表示されるテキストを変更するプロパティは公開しません。

ただし、探しているものを達成できる回避策を示す記事を見つけました。

https://joshsmithonwpf.wordpress.com/2007/09/14/modifying-the-auto-tooltip-of-a-slider/

于 2016-08-31T20:08:10.363 に答える