Skip to content Skip to footer

菜单概述 - WPF

通过 Menu 类,可以按分层顺序组织与命令和事件处理程序关联的元素。 每个 Menu 元素都包含一组 MenuItem 元素。

菜单控件

该 Menu 控件显示一个项列表,这些项指定应用程序的命令或选项。 通常,单击 MenuItem 打开子菜单或导致应用程序执行命令。

创建菜单

以下示例创建一个 Menu 用于在 TextBox 中操作文本。

Menu包含使用MenuItem、Command和IsCheckable属性以及Header、Checked和Unchecked事件的Click对象。

Checked="Bold_Checked"

Unchecked="Bold_Unchecked"/>

Checked="Italic_Checked"

Unchecked="Italic_Unchecked"/>

Click="IncreaseFont_Click"/>

Click="DecreaseFont_Click"/>

Margin="2">

The quick brown fox jumps over the lazy dog.

private void Bold_Checked(object sender, RoutedEventArgs e)

{

textBox1.FontWeight = FontWeights.Bold;

}

private void Bold_Unchecked(object sender, RoutedEventArgs e)

{

textBox1.FontWeight = FontWeights.Normal;

}

private void Italic_Checked(object sender, RoutedEventArgs e)

{

textBox1.FontStyle = FontStyles.Italic;

}

private void Italic_Unchecked(object sender, RoutedEventArgs e)

{

textBox1.FontStyle = FontStyles.Normal;

}

private void IncreaseFont_Click(object sender, RoutedEventArgs e)

{

if (textBox1.FontSize < 18)

{

textBox1.FontSize += 2;

}

}

private void DecreaseFont_Click(object sender, RoutedEventArgs e)

{

if (textBox1.FontSize > 10)

{

textBox1.FontSize -= 2;

}

}

Private Sub Bold_Checked(ByVal sender As Object, ByVal e As RoutedEventArgs)

textBox1.FontWeight = FontWeights.Bold

End Sub

Private Sub Bold_Unchecked(ByVal sender As Object, ByVal e As RoutedEventArgs)

textBox1.FontWeight = FontWeights.Normal

End Sub

Private Sub Italic_Checked(ByVal sender As Object, ByVal e As RoutedEventArgs)

textBox1.FontStyle = FontStyles.Italic

End Sub

Private Sub Italic_Unchecked(ByVal sender As Object, ByVal e As RoutedEventArgs)

textBox1.FontStyle = FontStyles.Normal

End Sub

Private Sub IncreaseFont_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)

If textBox1.FontSize < 18 Then

textBox1.FontSize += 2

End If

End Sub

Private Sub DecreaseFont_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)

If textBox1.FontSize > 10 Then

textBox1.FontSize -= 2

End If

End Sub

带有键盘快捷键的菜单项

键盘快捷方式是可以使用键盘输入以调用 Menu 命令的字符组合。 例如, 复制 的快捷方式为 Ctrl+C。 有两个属性可用于键盘快捷方式和菜单项 ,InputGestureText 或 Command。

输入手势文本

以下示例演示如何使用 InputGestureText 属性将键盘快捷文本分配给 MenuItem 控件。 这只会将键盘快捷方式放在菜单项中。 它没有将命令与MenuItem关联。 应用程序必须处理用户的输入才能执行该作。

指令

以下示例演示如何使用 Command 属性将 “打开 ”和 “保存 ”命令与 MenuItem 控件相关联。 命令属性不仅将命令与 a MenuItem相关联,而且还提供用作快捷方式的输入手势文本。

该 MenuItem 类还具有一个 CommandTarget 属性,该属性指定命令所在的元素。 如果未设置 CommandTarget,具有键盘焦点的元素将接收命令。 有关命令的详细信息,请参阅 命令概述。

菜单样式

使用控件样式,无需编写自定义控件即可显著更改控件的外观和行为 Menu 。 除了设置视觉属性之外,您还可以将Style应用于控件的各个部分,通过属性更改控件部分的行为,或者添加其他部件及更改控件的布局。 以下示例演示了向Style控件添加Menu的几种方法。

第一个代码示例定义了一个名为 Style 的 Simple,展示如何在样式中使用当前系统设置。 代码将MenuHighlightBrush指定为菜单的背景色,并将MenuTextBrush指定为菜单的前景色。 请注意,您使用资源密钥来分配画笔。

下面的示例使用Trigger元素,使得MenuItem的外观能够根据Menu上发生的事件进行更改。 将鼠标移到Menu时,菜单项的前景色和字体特征会变化。

另请参阅

WPF 控件库示例

Copyright © 2088 上届世界杯冠军_u20世界杯八强 - longxinwl.com All Rights Reserved.
友情链接