1

私はwpfの世界が初めてです。以下のように、シェルにコンテキストメニューがあります。

              <ContextMenu>

                <MenuItem Header="Login" 
                          Command="{Binding WorkSpaceViewSetter}" CommandParameter="DemoApplication.View.LoginView">

                    <MenuItem.Icon>
                        <Image Height="16" Width="16" Stretch="Uniform" Source="/Images/login.png"/>
                    </MenuItem.Icon>

                </MenuItem>

                <MenuItem Header="Modules" ItemsSource="{Binding AppModules}">

                    <MenuItem.Icon>
                        <Image Source="/Images/modules.png"/>
                    </MenuItem.Icon>

                    <MenuItem.ItemContainerStyle>
                        <Style TargetType="MenuItem">
                            <Setter Property="Header" Value="{Binding ModuleName}"/>
                            <Setter Property="Command" Value="{Binding ElementName=win, Path=DataContext.WorkSpaceViewFromType}"/>  
                            <Setter Property="CommandParameter" Value="{Binding MainViewType}"/>                       
                        </Style>
                    </MenuItem.ItemContainerStyle>

                </MenuItem>

           </ContextMenu>

AppModulesModules menuitemの itemssource の各要素には、 typeMainViewTypeという名前のプロパティがありますSystem.Type。menuitem がクリックされたときにリージョンのビューを変更したいのですが、単一のを使用して as コマンド パラメーターを渡すことを考えてICommadいますshellviewmodelMainViewTypeただし、上記のコードは機能しません。なぜModulesメニュー項目が期待どおりに読み込まれるのか疑問に思っていましたitemssource

のプロパティが適切にバインドされているため、 Loginmenuitem のコマンド バインドも機能しているはずですが、機能していないことに気付きました。誰かがそれを機能させる方法を提案できますか?itemssourceModules

4

1 に答える 1