这可能很简单,但我无法弄明白(对UWP来说)...
我有一个想用作我的应用程序背景的图像(它实际上仅用于桌面 - 我不担心手机等)。
我只是想设置窗口的大小,以便应用程序以特定大小开始,图像位于其中而不进行缩放。
有意义吗?
应该很容易 - 我已经在Windows Forms中完成了它并且非常直接......
我尝试过设置窗口的大小(与图像大小相同):
ApplicationView.PreferredLaunchViewSize = new Size(Height = 800, Width = 525);
但是无论我调整什么设置 - 无论是图像属性还是网格尺寸等,图像似乎都没有正确地放在其中???
在XAML设计视图中,它看起来都很好(对我来说):
但是当你运行应用程序时,它不是:
要求的XAML代码:
<Page
x:Class="UWP_Test.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UWP_Test"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<Image Source="Assets/titlescreen.bmp" Opacity="0.5" VerticalAlignment="Center" HorizontalAlignment="Center"></Image>
</Grid>
</Page>
XAML.CS代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
namespace UWP_Test
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
// Set the app window preferred launch view size
ApplicationView.PreferredLaunchViewSize = new Size(Height = 800, Width = 525);
// Set app window preferred launch windowing mode
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
}
private void button_Click(object sender, RoutedEventArgs e)
{
// move to Start page
this.Frame.Navigate(typeof(Start));
}
}
}
我确信它很简单。
我添加了一些图片
帮我堆栈溢出......你是我唯一的希望......
答案 0 :(得分:1)
虽然它完全没有用,但为什么不将Stretch属性设置为UniformToFill?
<Grid>
<Image Source="Assets/titlescreen.bmp" Opacity="0.5" Stretch="UniformToFill"></Image>
</Grid>
答案 1 :(得分:0)
您可以为网格背景设置ImageBrush
,如下面的代码:
<Grid>
<Grid.Background>
<ImageBrush ImageSource="Assets/pander.jpg" Stretch="UniformToFill"></ImageBrush>
</Grid.Background>
</Grid>
答案 2 :(得分:0)
感谢所有的建议,但我发现了什么问题。
问题是我用来设置窗口大小的这段代码中的括号:
ApplicationView.PreferredLaunchViewSize = new Size(Height = 800, Width = 525);
他们需要像这样的花括号:
ApplicationView.PreferredLaunchViewSize = new Size { Height = 525, Width = 840 };
一旦我改变了它,现在工作正常。
Visual Studio没有强调这些是错误的括号,这有点奇怪吗?该应用程序编译并运行良好,没有错误??
问题解决了
由于