上下文菜单中的网格

Grid inside ContextMenu

有谁知道是否可以让上下文菜单中的网格起作用?我基本上想在 3x3 网格内布置菜单项,但是虽然我可以输入 XAML,但网格被忽略了。

他,

罗布

您可以通过为您的 Context Menu 添加 ItemTemplete 来将 Grid 添加到您的 Context Menu,如下所示

           <ContextMenu>
               <ContextMenu.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                          //your Controls here
                        </Grid>
                    </DataTemplate>
                </ContextMenu.ItemTemplate>
            </ContextMenu>

上下文菜单中的 3x3 网格

        <ContextMenu>
            <ContextMenu.Template>
                <ControlTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition />
                            <ColumnDefinition />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition />
                            <RowDefinition />
                        </Grid.RowDefinitions>
                        <MenuItem Grid.Row="0" Grid.Column="0" Header="1111" />
                        <MenuItem Grid.Row="0" Grid.Column="1"  Header="2222" />
                        <MenuItem Grid.Row="0" Grid.Column="2"  Header="3333" />
                        <MenuItem Grid.Row="1" Grid.Column="0" Header="1111" />
                        <MenuItem Grid.Row="1" Grid.Column="1"  Header="2222" />
                        <MenuItem Grid.Row="1" Grid.Column="2"  Header="3333" />
                        <MenuItem Grid.Row="2" Grid.Column="0" Header="1111" />
                        <MenuItem Grid.Row="2" Grid.Column="1"  Header="2222" />
                        <MenuItem Grid.Row="2" Grid.Column="2"  Header="3333" />
                    </Grid>
                </ControlTemplate>
            </ContextMenu.Template>
        </ContextMenu>