2012-10-31 49 views

回答

0

我得到的解決方案,我們能夠做到這一點是如下因素的方法:

 ContextMenu contextmenu = new ContextMenu(); 
     ComboBox CmbColorMenu = new ComboBox(); 
     CmbColorMenu.ItemsSource = FontColors;// FontColors is list<objects> 
     CmbColorMenu.DisplayMemberPath = "Text"; 
     contextmenu.Items.Add(CmbColorMenu); 
2

以下代碼只是關於如何構建您的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> 
+0

感謝Eirik..I希望類似的解決辦法,但使用的背後代碼..我如何我可以做它在代碼後面? – SST

1

另一種選擇......這使得當你右鍵單擊組合框,直接出現。複製並粘貼到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> 

enter image description here

+0

如何在代碼後面執行此操作? – SST

相關問題