如何在鼠标悬停时突出显示MahApps.Metro的图块?

时间:2014-08-22 12:42:28

标签: c# wpf mahapps.metro

我刚刚为WPF发现了一个非常棒的UI工具包:MahApps.Metro。 我创建了一个窗口,其中包含MahApps.Metro.Controls.Tile。

类型的切片

当鼠标经过时,我无法找到突出显示图块的正确方法。

你知道我该怎么办? 我是否需要使用模板和故事板(设置似乎有点复杂......)?

谢谢

[编辑] 这是瓷砖的控件:

<mah:TransitioningContentControl x:Name="LeftControl" Grid.Row="1" Grid.Column="1"  Transition="Default"  HorizontalAlignment="Left">
    <WrapPanel x:Name="SearchPanel" Width="400" Height="500" HorizontalAlignment="Left" VerticalAlignment="Top">
        <mah:Tile x:Name="CategoriesTile" Title="Catégories" Style="{StaticResource SearchTileStyle}" Click="ButtonBase_OnClick" />
        <mah:Tile x:Name="TagsTile" Title="Tags" Style="{StaticResource SearchTileStyle}"  Click="ButtonBase_OnClick"/>
        <mah:Tile x:Name="SearchTile" Title="Recherche" Style="{StaticResource SearchTileStyle}" />
        <mah:Tile  x:Name="FavoritesTile" Title="Favoris" Style="{StaticResource SearchTileStyle}" />
        <mah:Tile x:Name="AssistantTile" Title="Assistant" Style="{StaticResource SearchTileStyle}" />
    </WrapPanel>
</mah:TransitioningContentControl>

这是我用于图块的样式(在字典中):

<Style x:Key="SearchTile" TargetType="mah:Tile">
    <Setter Property="Width" Value="150" />
    <Setter Property="Height" Value="150" />
    <Setter Property="TitleFontSize" Value="16" />
    <Setter Property="Background" Value="{StaticResource SearchTileBrush}" />
    <Setter Property="Margin" Value="3" />
</Style>

我希望能够更改背景颜色或在鼠标悬停上添加边框。 如果可能的话,我希望能够在鼠标上更改鼠标光标。

我不知道你是否可以触发这样做。

[编辑] mah:Tile继承自System.Windows.Controls.Button。 谢谢

1 个答案:

答案 0 :(得分:4)

你离得太远了。你需要的只是一个响应IsMouseOver的触发器,并且有一个突出显示的刷子颜色&#34;何时True,以及False时的默认颜色。

<Style x:Key="SearchTile" TargetType="mah:Tile">
    <Setter Property="Background" Value="{StaticResource SearchTileBrush}" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="{StaticResource SearchTyleHighlightedBrush}" />
        </Trigger>
    </Style.Triggers>
</Style>