WPFのユーザーコントロールやテンプレートの仕組みを使って色を選択するコントロールを作成してみる。
こんな感じのやつ。その名もColorPicker。
ComboBoxをベースにしている。
コントロールをクリックすると、カラーパレットが表示されそこから色を選択出来るというもの。
もっと細かく色を作りたい時は「その他の色...」というところからColorDialogを表示させる仕組み。
SelectedColorというColor型のプロパティを作って、データソースへバインド出来るようにする。
「WPFでコントロールを自作する その2」を参照
ドロップダウンで表示されるComboBoxItemはItemTemplateを使ってBorderコントロールで表示。
ItemsPanelTemplateを使ってGridを配置し、ComboBoxItemを縦横に並べている。
カラーパレットは大まかに3段に分かれていて、グレースケール、基本色、グラデーションとしている。
段落間に開いたスペースはComboBoxのグループヘッダーの仕組みを使っている。
「その他の色...」の部分のグループヘッダーを使っていて、HeaderTemplateSelectorによって使用するHeaderTemplateを切り替えている。
関連記事


コメント
コメントを投稿