Last Updated 2013/03/29
WPF 標準のスライダーコントロールは直線的な動作しかサポートしません。オーディオ機器のボリューム調整用つまみのように回転型にするほうが直感的な操作が可能な場合があります。スライダーコントロールを回転型にするにはコントロールテンプレートを定義すれば可能ですが、かなり面倒です。そこで、作ってみました。
下図はテスト用アプリケーションを起動したところです。
上のコントロールは RotateAngleControl、下は RotateRadialControl ですが、垂直方向の頂上を原点とする角度を取得することができます。それぞれ、一つの角度または二つの角度を取得するときに使えると思います。
RotateAngleControl の矢印部分はイメージを使いますので、自由な形状が可能です。円形部は Ellipse コントロールで、その背景色として RadialGradientBrush を設定しました。コントロールを操作した結果は Angle プロパティとして取得できます。
RotateRadialControl は機能を分かりやすくするため適当な配色にしましたが、扇形内部の塗りつぶし色、円形の枠線の色、内部の色など、自由に設定が可能です。コントロールを操作した結果は StartAngle と EndAngle プロパティとして取得します。赤色のほうが StartAngle、青色が EndAngle プロパティを示します。なお、扇形部分は Pie コントロールを自作しました。
以下は、コントロールを含むテスト用アプリケーションのソースおよび EXE ファイルを含みます。フリーウエアですからご自由にご利用ください。ソースの改変・流用は自由です。著作権の表示も必要ありません。
RotateControl.zip (27,678 bytes)−以上−