午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

右クリックメニューを追加した、Pixcren

Pixcren1.3.6

ダウンロード先

github.com

Pixcren1.3.6.zipがそれ


作成動作環境

動作に必要なのは.NET 5がインストール済みのWindowsで、.NET Frameworkだけでは動かないはず


プレビューウィンドウにて

f:id:gogowaten:20210223103940p:plain
メインとプレビューウィンドウ
プレビューウィンドウの保存バクの解消と、右クリックメニューの追加をした




昨日の保存バグを直した

f:id:gogowaten:20210223103259p:plain
非選択の画像を保存したところ
昨日のはどの保存ボタンを押しても、保存されるのは選択中の画像だったけど、今回のはボタンに対応した画像が保存される


右クリックメニュー追加

f:id:gogowaten:20210223104947p:plain
アイテムリストの右クリックメニュー
複数アイテム選択状態でコピーを選んだ場合は、最初に選択されていた(右に表示されている)画像がコピーされる

f:id:gogowaten:20210223105323p:plain
プレビュー画像の右クリックメニュー(未保存時)
保存の項目がある、保存済み画像の場合は

f:id:gogowaten:20210223105501p:plain
プレビュー画像の右クリックメニュー(保存済み)
保存の項目消える

感想

右クリックメニュー表示状態のスクショをPixcren自身で撮ってみたんだけど、ドロップシャドウ部分が切り取れていないねえ、WPFの右クリックメニューウィンドウはVisual Studioのメニューウィンドウと同じドロップシャドウと一体型?

右クリックメニュー項目の表示の有無をBindingで処理したかったけどできなかった

f:id:gogowaten:20210223112207p:plain
プレビュー画像の右クリックメニュー
未保存画像なら保存の項目を表示して、保存済みの画像なら非表示にする処理がうまくかけなかった

f:id:gogowaten:20210223112430p:plain
PreviewItem
保存の有無は変更通知できるINotifyPropertyChangedを付けた、このIsSavedDoneプロパティに持たせてBindingしてみたけど、動かなくて

f:id:gogowaten:20210223112736p:plain
プレビューウィンドウxaml
右クリックメニューにMyImageContextMenuって名前つけて
さらに保存項目にはMyImageContextMenuSaveって名前をつけて、
右クリックメニューのLoad(表示直前)イベントで

f:id:gogowaten:20210223113046p:plain
右クリックメニューのLoadイベント時

リストボックスで選択しているアイテム(SelectedItem)のPreviewItemからIsSavedDoneプロパティを確認して、保存項目の表示の有無を指定って方法になった
ImageのSource(画像)はBindingできたんだけどねえ、右クリックメニューではなんかできなかった動かなかった


メモリ使用量

f:id:gogowaten:20210223115026p:plain
タスクマネージャー
Pixcrenのメモリ使用量は88MBってある、これくらいなら普通かなあって感想で、このときのPC全体でのメモリの状態が

f:id:gogowaten:20210223115225p:plain
Pixcren起動時のPC全体でのメモリの状態
詳しい見方はわかんないけど、使用中が9.1GBとある
Pixcrenを終了させてみると

f:id:gogowaten:20210223115502p:plain
Pixcren終了後のPC全体でのメモリの状態
8.7GBまで下がった
9.1-8.7=0.4
Pixcrenを終了させることで0.4GB(400MB)も減ったことになる、タスクマネージャーでのPixcrenが使っている量は88MBだったから、ずいぶん開きがある、気になる




関連記事
次回は2日後

gogowaten.hatenablog.com


前回のPixcrenは昨日

gogowaten.hatenablog.com

最初のPixcrenは56日前

gogowaten.hatenablog.com