Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF动态添加RibbonApplicationMenuItem_C#_Wpf_Ribbon Control - Fatal编程技术网

C# WPF动态添加RibbonApplicationMenuItem

C# WPF动态添加RibbonApplicationMenuItem,c#,wpf,ribbon-control,C#,Wpf,Ribbon Control,我有以下代码: <ribbon:Ribbon.ApplicationMenu> <ribbon:RibbonApplicationMenu ToolTipTitle="Application Menu"> <ribbon:RibbonApplicationMenuItem Header="Company" x:Name="Men

我有以下代码:

    <ribbon:Ribbon.ApplicationMenu>
        <ribbon:RibbonApplicationMenu ToolTipTitle="Application Menu">
            <ribbon:RibbonApplicationMenuItem Header="Company"
                                              x:Name="MenuItem_Company"
                                              ImageSource="Images\LargeIcon.png"
                                              Command="{Binding Path=CompanyCommand}">
                <StackPanel>                            
                    <TextBlock Text="Item 1 in the list" />
                    <TextBlock Text="Item 2 in the list" />
                    <TextBlock Text="Item 3 in the list" />
                    <TextBlock Text="Item 4 in the list" />
                </StackPanel>
            </ribbon:RibbonApplicationMenuItem>

            <ribbon:RibbonApplicationMenuItem Header="DocStore Settings"
                                              x:Name="MenuItem1"
                                              ImageSource="Images\LargeIcon.png"  
                                              Click="MenuItem1_Click"/> 
            <ribbon:RibbonApplicationMenuItem Header="About DocStore"
                                              x:Name="MenuItem2"
                                              ImageSource="Images\LargeIcon.png" 
           Click="MenuItem2_Click" /> 
            <ribbon:RibbonApplicationMenuItem Header="Exit"
                                              x:Name="MenuExit"
                                              ImageSource="Images\LargeIcon.png" 
           Click="Exit" />                              
        </ribbon:RibbonApplicationMenu>
    </ribbon:Ribbon.ApplicationMenu>

我想动态地将项目添加到第一个RibbonApplicationMenuItem内的堆栈面板中,以替换硬编码的TextBlock项目。我不知道有多少可用,我以4为例

这可能吗?如果是这样,我该怎么做呢

谢谢!
Eroc

这就是我在XAML中所做的,我放下了堆栈面板:

<!--<StackPanel x:Name="CompanyStackPanel">                            
    <TextBlock Text="Item 1 in the list" />
    <TextBlock Text="Item 2 in the list" />
    <TextBlock Text="Item 3 in the list" />
    <TextBlock Text="Item 4 in the list" />
</StackPanel>-->

以及表单背后的代码:

  // ToDo: Create interface to populate the mymenutems
  List<string> mymenuitems = new List<string>();  // = someinterface
  mymenuitems.Add("Test Menu 1");
  mymenuitems.Add("Test Menu 2");
  mymenuitems.Add("Test Menu 3");
  mymenuitems.Add("Test Menu 4");
  foreach (var item in mymenuitems)
  { 
    var margins = new Thickness(2);
    var newtextbox = new Label() { Margin = margins, Content = item};
    MenuItem_Company.Items.Add(newtextbox);      
  }
//ToDo:创建接口以填充MyMenuItems
List mymenuitems=新建列表();//=someinterface
添加(“测试菜单1”);
添加(“测试菜单2”);
添加(“测试菜单3”);
添加(“测试菜单4”);
foreach(mymenuitems中的var项)
{ 
var裕度=新厚度(2);
var newtextbox=new Label(){Margin=margins,Content=item};
MenuItem_Company.Items.Add(新文本框);
}
我希望这对每个人都有帮助,它似乎对我有用