C# WPF-尝试在按钮中创建图像,但在应用程序运行时显示的图像比在VS2019 IDE中显示的图像小
我正在尝试创建一个带有图像的按钮栏。我的Xaml如下所示: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
<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中看起来是什么并不重要。你能发布屏幕截图让我们看到你看到的吗?