Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF在不同的计算机上显示不同_C#_Wpf_Windows Xp - Fatal编程技术网

C# WPF在不同的计算机上显示不同

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

我正在我的计算机上运行Windows XP,另一台计算机也在运行Windows XP

在我的WPF应用程序中,我更改了按钮的样式,使其在翻滚、单击等操作时显示为不高亮显示

在我的电脑上,这是正在发生的行为。在另一个Windows XP系统上,我看到一些按钮的大纲,我滚动或单击它们

你知道为什么会这样吗

编辑

这是按钮本身

        <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控件是“无外观的”,但我们有一组控件,因为每个控件都有不同的行为。所以,你可以重新设计一个按钮的样式,比如说,显示一个视频,不是因为你想显示视频,而是因为你想显示一个按钮的行为。