Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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-尝试在按钮中创建图像,但在应用程序运行时显示的图像比在VS2019 IDE中显示的图像小_C#_Wpf - Fatal编程技术网

C# WPF-尝试在按钮中创建图像,但在应用程序运行时显示的图像比在VS2019 IDE中显示的图像小

C# WPF-尝试在按钮中创建图像,但在应用程序运行时显示的图像比在VS2019 IDE中显示的图像小,c#,wpf,C#,Wpf,我正在尝试创建一个带有图像的按钮栏。我的Xaml如下所示: <Border Grid.Row="1" Margin="0" BorderBrush="Black" BorderThickness="1"> <StackPanel x:Name="ButtonsPanel" Orientation="Horizontal" Margin="0"> <Button x:Name="NewButton" Margin="3" Command="Ap

我正在尝试创建一个带有图像的按钮栏。我的Xaml如下所示:

<Border Grid.Row="1" Margin="0" BorderBrush="Black" BorderThickness="1">
    <StackPanel x:Name="ButtonsPanel" Orientation="Horizontal" Margin="0">
        <Button x:Name="NewButton" Margin="3" Command="ApplicationCommands.New" ToolTip="New project" BorderThickness="0">
            <Image Source="/Resources/NewFile_16x.png"/>
        </Button>
        <Button x:Name="OpenProjectButton" Margin="3" Command="ApplicationCommands.Open" ToolTip="Open project" BorderThickness="0">
            <Image Source="/Resources/OpenFile_16x.png"/>
        </Button>
        <Button x:Name="SaveProjectButton" Margin="3" Command="ApplicationCommands.Save" ToolTip="Save project" BorderThickness="0">
            <Image Source="/Resources/Save_16x.png"/>
        </Button>
    </StackPanel>
</Border>

在IDE(VS2019社区)中看起来一切都很好,但当我运行应用程序时,图像非常小。如果我尝试向按钮和/或图像标记添加高度和宽度属性,但所有这些都会显示正确尺寸的灰色正方形,但没有图像。我在图像标签中添加了Stretch=“Fill”,但没有任何帮助。我甚至尝试了不同大小的图片,看看这是否是问题所在,但似乎没有任何帮助

如有任何建议,将不胜感激

[编辑]

我对小图像显示的内容的看法是错误的。碰巧的是,它是相同的灰色正方形,只是更小。所以这本身不是一个大小问题,而是一个渲染问题

如果有帮助,这里有一个屏幕截图:

1)检查图像是否确实位于项目的“资源”文件夹下。如果指定了错误的图像文件位置,有时会显示灰色正方形而不是图像。 2)将包含按钮的行高设置为“自动”,当“拉伸”属性定义为“一致”(如果为默认值)时,应以原始大小显示图像。因此,请尝试以下方法:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <Border Grid.Row="1" Margin="0" BorderBrush="Black" BorderThickness="1">
            <StackPanel x:Name="ButtonsPanel" Orientation="Horizontal" Margin="0">
                <Button x:Name="NewButton" Margin="3" Command="ApplicationCommands.New" ToolTip="New project" BorderThickness="0">
                    <Image Source="pack://application:,,,/Resources/NewFile_16x.png" />
                </Button>
                <Button x:Name="OpenProjectButton" Margin="3" Command="ApplicationCommands.Open" ToolTip="Open project" BorderThickness="0">
                    <Image Source="pack://application:,,,/Resources/OpenFile_16x.png" />
                </Button>
                <Button x:Name="SaveProjectButton" Margin="3" Command="ApplicationCommands.Save" ToolTip="Save project" BorderThickness="0">
                    <Image Source="pack://application:,,,/Resources/Save_16x.png" />
                </Button>
            </StackPanel>
        </Border>

    </Grid>


您是否尝试为图像设置
Stretch=“Fill”
?或者像这样放置在堆栈面板内部?尝试使用
网格
而不是
堆栈面板
。或者根据需要设置
MinWidth
MinHeight
。您可以在运行时在
xaml
中调整
MinWidth
和'MinHeight'。所以它在IDE中看起来是什么并不重要。你能发布屏幕截图让我们看到你看到的吗?