C# 使WPF按钮看起来不那么扁平

C# 使WPF按钮看起来不那么扁平,c#,wpf,xaml,button,templating,C#,Wpf,Xaml,Button,Templating,我的表格上有两个按钮,它们看起来都非常非常扁平 我似乎找不到办法让它们看起来更像: 我的按钮的XAML是: <Button x:Name="bttnDailyReport" HorizontalAlignment="Left" Margin="618,27,0,0" VerticalAlignment="Top" Width="121" Height="93" FontFamily="Microsoft Sans Serif" FontSize="20" FontWeight="Bol

我的表格上有两个按钮,它们看起来都非常非常扁平

我似乎找不到办法让它们看起来更像:

我的按钮的XAML是:

<Button x:Name="bttnDailyReport" HorizontalAlignment="Left" Margin="618,27,0,0" VerticalAlignment="Top" Width="121" Height="93" FontFamily="Microsoft Sans Serif" FontSize="20" FontWeight="Bold" Grid.Column="1" BorderBrush="Black">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"><Run Text="  Generate"/><LineBreak/><Run Text="Daily Report"/></TextBlock>
</Button>
<Button x:Name="bttnCancel" HorizontalAlignment="Left" Margin="618,126,0,0" VerticalAlignment="Top" Width="121" Height="93" FontFamily="Microsoft Sans Serif" FontSize="20" FontWeight="Bold" Click="BttnCancelClick">
    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"><Run Text="Exit"/></TextBlock>
</Button>


现在,我的问题是,是否可以使按钮看起来像WinForms中的按钮,还是我一直使用平面按钮?

似乎,在您的参考资料中,平面按钮样式被用作按钮的默认样式

检查。您需要覆盖按钮中的样式,或者为默认样式提供键,并在需要时应用


默认情况下,按钮应与第二张图像相似。为了确保周围没有“BoringButton”样式会使您的按钮看起来扁平(正如Tilak和Chris W所建议的),请尝试明确清除按钮样式,如下所示:

<Button x:Name="bttnDailyReport" Style="{x:Null}" >


另外,不要将按钮的背景设置为特定的颜色(尽管在您发布的代码中已经可以了)。

只需在项目中引用PresentationFramework.Aero.dll,并将此代码添加到窗口的XAML中即可:

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/aero.normalcolor.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>


您的按钮是否在工具栏中,只是不告诉我们?在WinForms中,是的,它们确实是这样的。但不是在WPF中。@Tyrionlanister-在我所做的所有WPF(不是WinForms)项目中,默认情况下按钮与“连接”按钮类似。尝试在VisualStudio中创建一个新的“WPF应用程序”,并在主窗口上放置一个按钮。它看起来还是平的吗?我已经这样做了,是的,它是平的。我在VS2010和VS2012中都使用了.NET4和4.5来实现这一点。@Tyrionlanister-好的。那样的话,我不知道怎么了。在工作中,我使用了VS2010和VS2012(.Net 3.5和4.0),在家中,我使用了VS2010 Express(3.5和4.0),默认情况下,所有按钮的外观都正常。如果所有其他方法都失败了,那么创建自己的ControlTemplate(参见Cris W的链接)应该可以工作。最后,我们开始查看这些链接。我花了一点时间才看完,但我知道该怎么做了。谢谢。仅供参考,您需要在本地复制DLL(添加引用,右键单击解决方案资源管理器中的“属性”,将CopyLocal复制为true),然后免费获得catskins。此外,如果您希望在所有窗口中都添加应用程序资源,则可以将其添加到应用程序资源中。这是时间最少,收获最多的答案。裁判: