2

WPF NotifyIconCaliburn Microを一緒に使用しようとしています。私の最終的な目標は、システム トレイのアイコンをダブルクリックして、ウィンドウを最小化された状態から復元することです。私が行おうとしている方法が完全に間違っている場合は、遠慮なく教えてください。

DoubleClickCommand上に があることを確認できますTaskbarIcon(DoubleClick イベントは表示されません。利用可能であれば、実際に使用したいと思います)。通常、Caliburn Micro を使用してコマンドを操作する場合、 Restore という名前のボタンによって自動的に呼び出されるRestore()メソッドとCanRestoreプロパティを作成するだけです。Restore()システムトレイのアイコンをダブルクリックすると呼び出されるようにするにはどうすればよいですか?

編集 - グレンの提案に従って、添付イベントを追加しましたが、システム トレイのアイコンをダブルクリックしても何も起こらないようです。以下のコード。

xaml -

<tb:TaskbarIcon cal:Message.Attach="[Event DoubleClick] = [Action Restore]" />

仮想マシン -

public void Restore()
{
    MessageBox.Show("moo"); // breakpoint on this line is never hit
}

public bool CanRestore
{
    get { return true; }
}
4

2 に答える 2

5

次のことを試してください。

<TaskbarIcon cal:Message.Attach="[Event TrayMouseDoubleClick] = [Action DoubleClickFunc]"/>

イベント名はTrayMouseDoubleClick、コントロールのソース コード、具体的には という名前のファイルを見て見つけたものであることに注意してくださいTaskBarIcon.Declarations.cs

このファイルには、クラスに対して定義されているすべての依存関係プロパティの定義とルーティング イベントが含まれていますTaskBarIcon

于 2013-10-18T12:21:06.580 に答える
1

付属のイベントを作成してみませんか?

<TaskbarIcon cal:Message.Attach="[Event DoubleClick] = [Action DoubleClickFunc]"/>

次に、ビューモデルに次のものがあります。

public void DoubleClickFunc()
{
   // Your custom logic here
}

私は過去にこれを行いましたが、非常にうまく機能します。

于 2013-10-18T11:57:56.860 に答える