■44764 / inTopicNo.1) |
WPFでコンテキストメニューにイベントを割り当てる |
□投稿者/ 初心者 (93回)-(2009/12/17(Thu) 13:00:48)
|
分類:[C#]
WPFでつくったテキストボックスで、その行を抜き出してコンテキストメニューに表示し、
クリックしたらその行を実行したいと思います。
xaml
<Grid.ContextMenu>
<ContextMenu Name="contextMenu">
</ContextMenu>
</Grid.ContextMenu>
C#
string[] lines = File.ReadAllLines(fileName);
foreach (string line in lines) {
contextMenu.Items.Add(line);
contextMenu.Click += (s,e) => Process.Start(line);
}
と割り当てようとしました。
すると、
contextMenu.Click
というイベントは存在しないとのこと。
contextMenu.MouseDown += (s,e) => Process.Start(line);
としてみました。
exeの実行はでき、コンテキストメニューにlineの文字も表示されますが、
メニューを選択しても具体的な処理は行われません。
単にxamlでメニューを割り当てれば操作可能です。
http://blogs.wankuma.com/rti/archive/2009/05/21/173327.aspx
には、
this.aMenuItem.Click += (s,e) => this.MethodA();
みたいな例も出ているのですが、どこでへましているか、
アドバイスいただけないでしょうか。
Webには、規定のメニューをxamlで前もって割り当てておく例は見つかるのですが、
テキストの内容に応じてメニューを割り当てる例は見つけられませんでした。
|
|