0

WPFでメニューを開発しています。私は今までこのメニューを持っています:

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

メニューにカーソルを合わせると、UsersmenuItemのようになります。これは背後にあるコードです:

 <Menu Grid.Column="0" Name="menuNavigation" >
            <MenuItem Header="Users" >
                <MenuItem Header="Register user">
                    <MenuItem ToolTip="Register new user on database." />
                </MenuItem>
                <MenuItem Header="Admin users">
                    <MenuItem ToolTip="Update or delete a user." />
                </MenuItem>
            </MenuItem>
            <MenuItem Header="Identify">
                <MenuItem ToolTip="Start an identification." />
            </MenuItem>
            <MenuItem Header="Authenticate">
                <MenuItem ToolTip="Start an authentication." />
            </MenuItem>
            <MenuItem Header="Cameras">
                <MenuItem ToolTip="Manage connected cameras." />
            </MenuItem>
        </Menu>

その水色の境界線を消したいので、特殊効果をシミュレートしようとしました。ホバーすると、強調するように、単語を囲むような白い括弧が必要になります。

誰かがこれから始める方法について私にアイデアを与えることができますか?

編集: 私はイベントにアクセスできましたIsMouseOverが、それは私を無視しているようです。私は今このスタイリングを持っています:

    <!-- Menu navigation properties -->
<Style TargetType="Menu">
    <Setter Property="Background" Value="{DynamicResource TopMenuGradient}" />
    <Setter Property="HorizontalAlignment" Value="Right" />
    <Setter Property="Foreground" Value="White" />
    <Setter Property="FontFamily" Value="Calibri" />
    <Setter Property="FontSize" Value="18" />
    <Setter Property="FontWeight" Value="Bold" />
    <Setter Property="Height" Value="50" />
</Style>
<!-- MenuItem Style -->
<Style TargetType="MenuItem">
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="Height" Value="50" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True" >
            <Setter Property="Foreground" Value="LightGray" />
            <Setter Property="Background" Value="White" />
        </Trigger>
    </Style.Triggers>
</Style>

水色の境界線を削除することはできますが、Backgroundプロパティを変更したいのですが、MenuItemスタイルが私を無視しているようです...部分的に。つまりForeground、動作します...しかし、動作しませんBackground!どうしたの?

4

1 に答える 1

2

これはcodeprojectからの役立つリンクです。ホバーに関しては、WPFグリッドコントロールはMouseEnterイベントとMouseLeaveイベントの両方をサポートしています。両方のイベントハンドラーを接続できるはずです。

これも見てください

于 2013-01-23T09:51:09.990 に答える