Chapter 17

ステップ4-3: もうひと手間

Apterygiformes-zenn
Apterygiformes-zenn
2021.12.05に更新

概要

ウィンドウを半透明にしてみます。

ウィンドウ半透明化

Windowを選択し、プロパティウィンドウの検索ボックスにstyと入力します。
検索結果にWindowStyleが表示されます。

WindowStyleNoneを設定します。
そうするとタイトルバーが表示されなくなります。
プロパティウィンドウ検索ボックスの×ボタンで絞り込みを解除しておきましょう。

AllowsTransparencyのチェックを入れます。

これで半透明にする準備が整いました。
ブラシカテゴリのBackgroundA(アルファ値)を変更します。

A75と入力してEnterキーを押します。
デザイナーの画面イメージが半透明になりました。

機能補完

ウィンドウの移動対応

半透明にはできましたが、タイトルバーがなくなってしまったので、
画面部分(クライアント領域)をドラッグして移動できるようにします。

WindowMouseLeftButtonDownイベントの処理を書きます。

以下を入力します。

DragMove();

これでドラッグ対応は完了です。

終了対応

タイトルバーがないので×ボタンで終了できなくなってしまいました。
代わりにコンテキストメニュー(右クリックメニュー)から終了できるようにします。

Windowのプロパティウィンドウ検索ボックスでcontと入力します。
ContextMenu新規ボタンを押します。

System.Windows.ControlsContextMenuを選択してOKボタンを押します。

XAMLにContextMenuのタグが追加されました。

ContextMenuタグに子要素を追加するため、<タグ />の形式から<タグ></タグ>の形式に変更します。
<ContextMenu />の末尾の/を削除して<ContextMenu>にします。

>の右にカーソルを位置付け、</と入力します。
閉じタグの候補でContextMenuが表示されるのでTABキーで確定します。

閉じタグが入力されました。

ContextMenuタグの中で<Mと入力します。
候補にMenuItemが選択されている状態でTABキーを押して確定します。
一般的によく使われるものは印付きでリストの上位に表示されます。

MenuItemが追加されました。

スペースを1つ空けてHと入力します。候補の中からHeaderを選択して確定してください。

Headerには閉じる(_C)を入力します。

_の次の1文字はアクセラレータキー(アクセスキー)になります。
プログラム実行時、右クリックでコンテキストメニューが表示されているときにCキーを押すと閉じるを選択したのと同じことになります。

MenuItemタグを閉じます。/を入力すれば>も自動で入力してくれます。

MenuItemClickイベントの処理を書きます。
いつもイベントハンドラ名を自動作成にまかせていたので今回は自分で名前を付けてみます。
Clickの欄にCloseMenu_Clickと入力してEnterキーを押してください。

以下を入力して完成です。

Close();

実行

実行してみます。時計画面の下にある内容が透けています。

右クリックすると閉じるメニューが表示されます。
クリックするかCキーを押せば終了します。