WPF 中的 ToolStripDropDownButton 等价物?
ToolStripDropDownButton equivalent in WPF?
我是 WPF 技术的新手。我已经在 WinForms 中开发了大约 6 年。
现在我想通过学习 WPF 在我的技能上进步一大步。我正在阅读 MSDN 中的介绍指南,而作为个人练习,我正在尝试将 WinForms UI 的结构转换为其 WPF UI 等价物。
这是我想在 WPF 中重现的 WinForms 控件结构的简单模型:
我的问题是尝试为 ToolStripDropDownButton 控件重现等效的 control/behavior。
在Windows Forms Controls and Equivalent WPF Controls article, Microsoft just says that the equivalent control for a ToolStripDropDownButton is a ToolBar...with composition. I don't understand at all what it means about "with composition". I've been reading and experimenting with the Toolbar中,但我没有找到在工具栏中添加下拉按钮的方法。
我的问题:有人可以指导我或向我展示如何在工具栏中添加下拉按钮的简单示例吗?
你可以在Toolbar
中放一个Menu
。一个 Menu
包含一些 MenuItem
。每个 MenuItem
都有一个 Header
这是它的内容,可以是文本或其他元素。每个 MenuItem
也可以有一些嵌套或 MenuItem
s。例如,要有这样的菜单结构:
您可以使用这样的代码:
<ToolBar>
<Menu Background="#00000000">
<MenuItem >
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock>Menu 1</TextBlock>
<Path VerticalAlignment="Center" Margin="8,2,0,0"
Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/>
</StackPanel>
</MenuItem.Header>
<MenuItem Header="Menu 1-1" >
<MenuItem Header="Menu 1-1-1"/>
<MenuItem Header="Menu 1-1-2"/>
</MenuItem>
<MenuItem Header="Menu 1-2"/>
<MenuItem>
<MenuItem.Header><TextBox Width="100"/></MenuItem.Header>
</MenuItem>
<MenuItem>
<MenuItem.Header><DatePicker Width="100"/></MenuItem.Header>
</MenuItem>
</MenuItem>
<MenuItem >
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock>Menu 2</TextBlock>
<Path VerticalAlignment="Center" Margin="8,2,0,0"
Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/>
</StackPanel>
</MenuItem.Header>
<MenuItem Header="Menu 2-1"/>
<MenuItem Header="Menu 2-2"/>
<MenuItem Header="Menu 2-3"/>
</MenuItem>
<MenuItem Header="Menu 3"/>
</Menu>
</ToolBar>
我是 WPF 技术的新手。我已经在 WinForms 中开发了大约 6 年。
现在我想通过学习 WPF 在我的技能上进步一大步。我正在阅读 MSDN 中的介绍指南,而作为个人练习,我正在尝试将 WinForms UI 的结构转换为其 WPF UI 等价物。
这是我想在 WPF 中重现的 WinForms 控件结构的简单模型:
我的问题是尝试为 ToolStripDropDownButton 控件重现等效的 control/behavior。
在Windows Forms Controls and Equivalent WPF Controls article, Microsoft just says that the equivalent control for a ToolStripDropDownButton is a ToolBar...with composition. I don't understand at all what it means about "with composition". I've been reading and experimenting with the Toolbar中,但我没有找到在工具栏中添加下拉按钮的方法。
我的问题:有人可以指导我或向我展示如何在工具栏中添加下拉按钮的简单示例吗?
你可以在Toolbar
中放一个Menu
。一个 Menu
包含一些 MenuItem
。每个 MenuItem
都有一个 Header
这是它的内容,可以是文本或其他元素。每个 MenuItem
也可以有一些嵌套或 MenuItem
s。例如,要有这样的菜单结构:
您可以使用这样的代码:
<ToolBar>
<Menu Background="#00000000">
<MenuItem >
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock>Menu 1</TextBlock>
<Path VerticalAlignment="Center" Margin="8,2,0,0"
Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/>
</StackPanel>
</MenuItem.Header>
<MenuItem Header="Menu 1-1" >
<MenuItem Header="Menu 1-1-1"/>
<MenuItem Header="Menu 1-1-2"/>
</MenuItem>
<MenuItem Header="Menu 1-2"/>
<MenuItem>
<MenuItem.Header><TextBox Width="100"/></MenuItem.Header>
</MenuItem>
<MenuItem>
<MenuItem.Header><DatePicker Width="100"/></MenuItem.Header>
</MenuItem>
</MenuItem>
<MenuItem >
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock>Menu 2</TextBlock>
<Path VerticalAlignment="Center" Margin="8,2,0,0"
Fill="Black" Data="M 0 0 L 3 3 L 6 0 Z"/>
</StackPanel>
</MenuItem.Header>
<MenuItem Header="Menu 2-1"/>
<MenuItem Header="Menu 2-2"/>
<MenuItem Header="Menu 2-3"/>
</MenuItem>
<MenuItem Header="Menu 3"/>
</Menu>
</ToolBar>