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