我正在尋找互聯網上的解決方案,但無法在我的示例中找到它。我需要在後臺代碼生成的上下文菜單項之間添加一個分隔符。我試圖用下面的代碼行添加它,但沒有成功。如何在動態創建的ContextMenu中添加水平分隔符?
this.Commands.Add(new ToolStripSeparator());
我想知道是否有人可以提供幫助。先謝謝你。
上下文菜單XAML:
<Style x:Key="DataGridCellStyle" TargetType="{x:Type DataGridCell}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu ItemsSource="{Binding Commands}">
<ContextMenu.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Command" Value="{Binding}" />
<Setter Property="Header" Value="{Binding Path=Text}" />
<Setter Property="CommandParameter" Value="{Binding Path=Parameter}" />
</Style>
</ContextMenu.ItemContainerStyle>
</ContextMenu>
</Setter.Value>
</Setter>
C#,在該方法中加入:
this.Commands = new ObservableCollection<ICommand>();
this.Commands.Add(MainWindow.AddRole1);
this.Commands.Add(MainWindow.AddRole2);
this.Commands.Add(MainWindow.AddRole3);
this.Commands.Add(MainWindow.AddRole4);
//this.Add(new ToolStripSeparator());
this.Commands.Add(MainWindow.AddRole5);
this.Commands.Add(MainWindow.AddRole6);
this.Commands.Add(MainWindow.AddRole7);
感謝您的想法。但是,它還沒有工作。我還無法插入分隔符。我將值更改爲「Value =」{DynamicResource MenuSeparatorTemplate}「'並且能夠調試解決方案。結果是分隔符不可見,並且該區域在空白菜單項上具有翻轉狀態。我想知道是否可以修復。 – vladc77 2011-01-28 18:56:55
你需要創建`MenuSeparatorTemplate`。由於它沒有創建,所以沒有顯示任何內容。 – Rachel 2011-01-28 19:30:21
如何從datatrigger訪問泛型分隔符模板? – vladc77 2011-01-28 19:40:01