私はWPFを使い始めました。VB WPFコンテキストメニューのクリックイベントを処理する方法resourceDictionary内のオブジェクト内のアイテム
私はドキュメントを読んで(彼らは...しかし、C#である)と、当初のResourceDictionaryでそれを設定したのVisual Basic 2015 (http://www.hardcodet.net/wpf-notifyicon)
にWPFのための代替NotifyIcon建て準備を使用しています。
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:SystemTrayTest"
xmlns:tb="http://www.hardcodet.net/taskbar"
>
<!-- Globally declared notify Icon -->
<tb:TaskbarIcon x:Key="MyNotifyIcon"
IconSource="/Icons/Error.ico"
ToolTipText="Project Activity Recorder" >
<tb:TaskbarIcon.ContextMenu>
<ContextMenu
Background="LightCoral">
<MenuItem x:Name="CA" Header="Current Activity"/>
<MenuItem Header="New Activity" />
<MenuItem Header="Manage Activities" />
<Separator />
<MenuItem Header="Manage Companies" />
<MenuItem Header="Manage Projects" />
<MenuItem Header="Manage Users" />
<Separator />
<MenuItem Header="Exit" />
</ContextMenu>
</tb:TaskbarIcon.ContextMenu>
</tb:TaskbarIcon>
</ResourceDictionary>
私は、Application_Startupイベントでインスタンス化することでNotifyIconを開始します。
tb = CType(FindResource("MyNotifyIcon"), TaskbarIcon)
これは、コンテキストメニューでSystemTrayのアイコンの罰金を示しています。
しかし、ユーザーがコンテンツメニューから選択するときにどのようにピックアップするかわかりません。
私は以前にWindowsフォームでプログラミングしましたが、私はWPFが新しくなったと述べています。私はWPFフォームからこれを行う方法を躊躇することができますが、私はresourceDictionaryにNotifyIconを設定しているので、それを考えるようになっています。
フレンドリーな指導に感謝します。
ありがとうございました。
代替手段はありますか?プログラムでtbオブジェクトをスタートアップイベントで設定するには? – user3844416
ResourceDictionaryではなく、MainWindow自体に配置することができます。リソース辞書の目的は、それを再利用することです。再利用できる場合は、リソース辞書のコードを作成することができます。そうでなければ、それをウィンドウ自体に入れることができます。 –
ご意見ありがとうございます。スタートアップイベントを使用してアプリケーションを起動して初期化していますが、ウィンドウはありません。私は、(私はツールバーオブジェクトを設定することができます)初期化するために、ウィンドウを使用し、スタートアップイベントを使用しないことをお勧めしますか? – user3844416