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(新文本框);
}
我希望这对每个人都有帮助,它似乎对我有用