1

コードビハインドのwpfアプリケーションのラベルコントロールのContextMenuアイテムとしてコンボボックスを追加したいと思います。どうすればいいですか?私はウェブ上でたくさん検索しましたが、何も生産的ではありません。

4

3 に答える 3

2

次のコードは、を構築する方法の概念実証にすぎませんContextMenuComboBoxのコンテンツとしてを提供します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>
于 2012-10-31T12:14:06.540 に答える
1

別の方法...これにより、右クリックしたときに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>

ここに画像の説明を入力してください

于 2012-10-31T12:19:41.567 に答える
0

私は解決策を得ました、これを行うことができるのは次の方法です:

        ContextMenu contextmenu = new ContextMenu();
        ComboBox CmbColorMenu = new ComboBox();
        CmbColorMenu.ItemsSource = FontColors;// FontColors is list<objects>
        CmbColorMenu.DisplayMemberPath = "Text";
        contextmenu.Items.Add(CmbColorMenu);
于 2012-10-31T12:54:15.580 に答える