我在WPF中使用一个简单的按钮.我在背景上放了按钮的图像.我的问题是,当我将鼠标指针移动到按钮时,它会获得默认的光晕并覆盖作为背景给出的图像.
<Button Grid.Column="3" Name="Play" BorderBrush="Transparent"
Focusable="False" Width="45" Height="45" Click="Play_Click"
VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,6,10,6">
<Button.Background >
<ImageBrush ImageSource="images/play.png" />
</Button.Background>
<Button.Foreground>
<ImageBrush ImageSource="images/play.png" />
</Button.Foreground>
</Button>
Run Code Online (Sandbox Code Playgroud)
请帮我.
我正在尝试ExpandingMenu在我的第一个 WPF 项目中创建我自己的可展开/可折叠菜单(创造性地称为)。我已经有一个由 2 行组成的用户控件Grid(第 1 行是用于折叠和展开控件的按钮,第 2 行是StackPanel用于旋转ToggleButtons,这是我目前卡住的地方)。对于我的旋转按钮,我刚刚决定也让它们成为自己的UserControls。
按钮(我称之为ExpandingMenuButtons)只不过是ToggleButton1x1 中的一个Grid(我正在考虑这样做,因为在我整理出标准行为后,我可能想向这些按钮添加一些额外的自定义逻辑)。我可以将它们添加到我的菜单控制成功,我甚至可以通过让他们旋转RenderTransform的Grid。
但是,正如您可能知道的那样,它们在旋转时会向上摆动。这导致它们不仅太高,而且还可能延伸到更远的地方。
这就是我想要完成的(使用油漆的魔力进行编辑)。我可以在我的菜单控件(棕褐色区域)中获得这种正确的行为,但是为了测试目的,我同时破坏了扩展/收缩事件......
当我旋转 1 个按钮时我可以做什么(就像我之前提到的,我为了测试目的改变了一些行为,所以每个按钮都设置为在点击时旋转,而不是像你期望的那样一次性旋转)。如您所见,此按钮已从原来的位置向外摆动。向上的按钮将部分/完全消失。相反,我希望它们旋转到正确的位置。一旦我让一个正常工作,我认为让其他人以同样的方式表现会很简单,这就是我为什么要这样尝试的原因..

我的按钮代码如下:
<UserControl x:Class="App.Controls.ExpandingMenuButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:App.Controls"
mc:Ignorable="d"
d:DesignHeight="30" d:DesignWidth="100">
<Grid Name="ButtonGrid" Height="30">
<ToggleButton Name="MenuButton" Background="Aqua" BorderThickness="0 0 0 1" Click="MenuButton_Click" Content="TEST"></ToggleButton>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
到目前为止 ExpandingMenuButton.xaml.cs 中唯一的“真实”代码:
private void MenuButton_Click(object sender, RoutedEventArgs e)
{
//I know this is not practical, it is …Run Code Online (Sandbox Code Playgroud)