我在计算机上运行Windows XP,另一台计算机也在运行Windows XP。
在我的WPF应用程序中,我将按钮的样式更改为在翻转,单击等时不会突出显示。
在我的计算机上,这是正在发生的行为。在另一个Windows XP系统上,我看到了一些按钮的概述,我翻过它们或点击。
关于为什么会发生这种情况的任何想法?
修改
这是Button本身
<Button Click="Next_Click" Width="100" VerticalAlignment="Center" BorderThickness="0" BorderBrush="Black" Background="Black" IsTabStop="False" DockPanel.Dock="Right" HorizontalAlignment="Left" Height="154" Name="NextOffers">
<Image Source="Images/offer_right_arrow.jpg" Width="100" Height="154" MaxWidth="100" MaxHeight="154" HorizontalAlignment="Left" VerticalAlignment="Top" MinWidth="100" MinHeight="154" ></Image>
</Button>
也是这种风格。
<Style TargetType="{x:Type ListBoxItem}" x:Key="ListBoxItemStyle">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListBox_MouseLeftButtonDown"></EventSetter>
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="0,0,2,0" SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="Black"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
显然,我没有为此按钮制作模板。
我在后面的代码中动态加载我的ResourceDictionaries。
答案 0 :(得分:2)
听起来您需要为按钮设置自定义控件模板。大多数WPF控件的默认控件模板取决于所选的Windows主题,因此无论您使用的是Windows经典主题,Aero,Royale还是其他任何内容,按钮都会跟随主题。如果您希望它看起来完全相同,无论用户选择何种操作系统或主题,您都可以使用自定义控件模板为自己省去很多麻烦。
谷歌“给我看模板”的应用程序将为您提供每个主题的控件模板源(XAML)。这是创建自定义模板的良好起点。
答案 1 :(得分:1)
您遇到的问题很可能是由于默认Button
Chrome
造成的。你可以应用各种样式,但是如果你保持Chrome
完整,那么Windows主题将会让它变得丑陋。
您需要重新创建ControlTemplate
本身。