お世話になります。
WPF+Prismフレームワークでの開発を勉強しています。
Prismの性質上、Moduleごとにxamlを分ける箇所の実装方法(Commandの記法)について、ご教授いただきたく。
◆理解できている部分
ViewにてCommandを明記し、関連するViewModel上の同Commandを実行できる事は理解しました。
(下記①のボタンを押下時に、②のExecuteCommnad
が実行される。)
①View.xaml
XML
1<UserControl x:class ~略~> 2 <Button Content="実行" Command="{Binding ExecCommand}" /> 3</UserControl>
②ViewModel.cs
C#
1public class FindFormViewModel { 2 // 実行したいコマンド 3 public DelegateCommand ExecCommand { get; private set; } 4 // コンストラクタ 5 public FindFormViewModel() { 6 ExecCommand = new DelegateCommand(Execute, CanExec); 7 } 8 private bool CanExec() { ~略~ } 9 private void Execute() { ~略~ } 10}
◆質問事項(理解できていない部分)
上記のExecuteCommnad
を、別のxaml
から呼び出したいです。
具体的には、MenuItem
(メニューバー)から実行したいですが、
★の箇所について、色々試しても分からず。。
Menu.xaml
XML
1<UserControl x:class ~略~> 2 <Menu> 3 <MenuItem Header="ファイル"> 4 <MenuItem Header="ここからも実行できるよ" Command="★ここにどう書く??★" /> 5 </MenuItem> 6 </Menu> 7</UserControl>
<xamlの関連が記載が漏れていたため追記。>
View.xaml
とMenu.xaml
はそれぞれ独立しており、Shellのxamlからそれぞれを参照しています。
Shell.xaml
XML
1<Window> 2 <Grid> 3 <!-- Menu.xaml --> 4 <ContentControl prism:RegionManager.RegionName="MenuRegion" /> 5 <!-- View.xaml --> 6 <ContentControl prism:RegionManager.RegionName="ViewRegion" /> 7 </Grid> 8</Window>

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/21 09:47 編集
2018/01/29 07:15