繁体   English   中英

C#WPF-按钮图片在Windows 7和Windows 10上看起来不同

[英]C# WPF - button picture looks differently on Windows 7 and Windows 10

我正在尝试构建在按钮上绘制一些图片的应用程序。 应用程序在Windows 7上看起来不错-符合预期,尽管在Windows 10上看起来不同。

尽管定义了宽度和高度尺寸,但是图像被截断。

上传的屏幕:

1:Windows 7与Windows 10

Windows 7和Windows 10 [1]

2:Windows 7和Windows 10

在此处输入图片说明 ] 2

<Menu x:Name="menu" HorizontalAlignment="Stretch" Height="25" Margin="0,0,0,0" VerticalAlignment="Center" Width="Auto" DockPanel.Dock="Top">
                <MenuItem Header="_Soubor" Height="25" HorizontalAlignment="Center" VerticalAlignment="Center">
                    <MenuItem Click="NewCalculation_Click">
                        <MenuItem.Header>
                            <TextBlock Text="_Nová kalkulace" VerticalAlignment="Center"/>
                        </MenuItem.Header>
                        <MenuItem.Icon>
                            <Image Source="graphics/icons/new.ico" Height="35" Width="35" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <Separator/>
                    <MenuItem Click="saveCalculation_Click">
                        <MenuItem.Header>
                            <TextBlock Text="Uložit kalkulaci" VerticalAlignment="Center"></TextBlock>
                        </MenuItem.Header>
                        <MenuItem.Icon>
                            <Image Source="graphics/icons/save.ico" Height="35" Width="35"  />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Click="LoadCalculation_Click">
                        <MenuItem.Header>
                            <TextBlock Text="Načíst kalkulaci" VerticalAlignment="Center"></TextBlock>
                        </MenuItem.Header>
                        <MenuItem.Icon>
                            <Image Source="graphics/icons/load.ico" Height="35" Width="35" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <Separator/>
                    <MenuItem Click="createReport_Click">
                        <MenuItem.Header >
                            <TextBlock Text="Vytvoř report" VerticalAlignment="Center"></TextBlock>
                        </MenuItem.Header>
                        <MenuItem.Icon>
                            <Image Source="graphics/icons/report.ico" Height="35" Width="35"  />
                        </MenuItem.Icon>
                    </MenuItem>
                    <Separator/>
                    <MenuItem Click="endApp_Click">
                        <MenuItem.Header>
                            <TextBlock Text="Konec" VerticalAlignment="Center"></TextBlock>
                        </MenuItem.Header>
                        <MenuItem.Icon>
                            <Image Source="graphics/icons/close.ico" Height="35" Width="35"  />
                        </MenuItem.Icon>
                    </MenuItem>
                </MenuItem>
                <MenuItem Header="_Nastavení" Height="25" HorizontalAlignment="Center" VerticalAlignment="Center">
                    <MenuItem x:Name="MenuSqlSetting" Header="_Připojení na SQL server" Click="MenuSqlSetting_Click"/>
                </MenuItem>
                <MenuItem Header="_O aplikaci" Click="MenuItem_Click" />
            </Menu>

第二个屏幕的代码:

<Button x:Name="buttonRemove" Grid.Column="1"  Margin="2,0,0,0" IsEnabled="False" Click="buttonRemove_Click" Background="White">
    <StackPanel>
        <Image Source="Graphics/remove.png" Width="50" Height="50"/>
    </StackPanel>
</Button>

感谢您的任何建议。

在尝试任何操作之前,您应该检查本文。 都是关于赢7和赢10之间的主题差异。

https://arbel.net/2006/11/03/forcing-wpf-to-use-a-specific-windows-theme/

Visual Studio提供了另一种解决方法。 您在MenuItem上单击鼠标,然后在“杂项”组下的“属性”检查器中查看“模板”。 然后,您“转换为新资源...”

看图片

因此您将获得相应的xaml转换为

<MenuItem Command="{Binding YourCmd}" Header="Your Header" 
    Template="{DynamicResource MenuItemControlTemplate1}" >

然后,您可以在Windows 7计算机上构建并部署到Windows 10,而不会出现此类问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM