[英]How to add Combobox as ContextMenu Item for Label Control. WPF app
我想在后面的代碼中為wpf應用程序中的某些標簽控件添加組合框作為ContextMenu項。 我該怎么做? 我在網上搜索了很多,但沒有任何成效。
以下代碼只是關於如何構建ContextMenu
的概念證明。 它將為您提供一個ComboBox
作為MenuItem
的內容。
<Label Content="label with context menu">
<Label.ContextMenu>
<ContextMenu>
<MenuItem Header="menu 1">
<ComboBox>
<ComboBoxItem Content="combo 1" IsSelected="True" />
<ComboBoxItem Content="combo 2" />
<ComboBoxItem Content="combo 3" />
</ComboBox>
</MenuItem>
</ContextMenu>
</Label.ContextMenu>
</Label>
另一種選擇......這允許ComboBox在您進行右鍵單擊時直接顯示。 將其復制並粘貼到KAXAML中以查看它是否正常工作。
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Label Content="Some Label">
<Label.ContextMenu>
<ContextMenu>
<ContextMenu.Template>
<ControlTemplate>
<ComboBox SelectedIndex="0">
<ComboBoxItem>One</ComboBoxItem>
<ComboBoxItem>Two</ComboBoxItem>
<ComboBoxItem>Three</ComboBoxItem>
</ComboBox>
</ControlTemplate>
</ContextMenu.Template>
</ContextMenu>
</Label.ContextMenu>
</Label>
</Grid>
</Page>
我得到了解決方案,我們可以這樣做:
ContextMenu contextmenu = new ContextMenu();
ComboBox CmbColorMenu = new ComboBox();
CmbColorMenu.ItemsSource = FontColors;// FontColors is list<objects>
CmbColorMenu.DisplayMemberPath = "Text";
contextmenu.Items.Add(CmbColorMenu);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.