C# WPF在不同的计算机上显示不同
我正在我的计算机上运行Windows XP,另一台计算机也在运行Windows XP 在我的WPF应用程序中,我更改了按钮的样式,使其在翻滚、单击等操作时显示为不高亮显示 在我的电脑上,这是正在发生的行为。在另一个Windows XP系统上,我看到一些按钮的大纲,我滚动或单击它们 你知道为什么会这样吗 编辑 这是按钮本身C# WPF在不同的计算机上显示不同,c#,wpf,windows-xp,C#,Wpf,Windows Xp,我正在我的计算机上运行Windows XP,另一台计算机也在运行Windows XP 在我的WPF应用程序中,我更改了按钮的样式,使其在翻滚、单击等操作时显示为不高亮显示 在我的电脑上,这是正在发生的行为。在另一个Windows XP系统上,我看到一些按钮的大纲,我滚动或单击它们 你知道为什么会这样吗 编辑 这是按钮本身 <Button Click="Next_Click" Width="100" VerticalAlignment="Center" BorderThick
<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。听起来您需要一个自定义按钮控件模板。大多数WPF控件的默认控件模板取决于所选的Windows主题,因此,无论您使用的是Windows经典主题、Aero、Royale还是其他主题,都会有一个按钮跟随该主题。如果无论用户选择了什么操作系统或主题,您都希望它看起来完全相同,那么使用自定义控件模板可以省去很多麻烦
谷歌“向我展示模板”应用程序将为您提供每个主题的控制模板源(XAML)。这是创建自定义模板的良好起点。您看到的问题很可能是由于默认的
按钮
造成的。你可以应用各种样式,但是如果你保持Chrome
不变,那么Windows主题将变得丑陋不堪
您需要重新创建控制模板本身。两台计算机是否应用了相同的Windows主题?不,它们没有。我的工作计算机的主题由AD的组策略(boo)控制,另一台计算机由另一家公司办公室的组策略控制。您最好为元素应用自定义样式。。看起来你的控件是从系统默认设置中获取样式的,这就是为什么它在其他主题中看起来不同。你可以发布你的样式以及如何应用它们等等@TheGeek:如果你没有显式地为它们创建新模板,自定义样式可以从系统默认设置中继承。如果我使用控件模板,是否必须在模板中明确定义单击事件?否;我重新设计了按钮的样式,这样它们就不会显示特定于操作系统/主题的样式,而且我从来没有设置过点击事件。WPF控件是“无外观的”,但我们有一组控件,因为每个控件都有不同的行为。所以,你可以重新设计一个按钮的样式,比如说,显示一个视频,不是因为你想显示视频,而是因为你想显示一个按钮的行为。