C# Windows Phone 8中与分辨率相关的背景
我跟随MSDN的文章在WindowsPhone8中创建分辨率相关的背景,但它总是显示空白背景 有人知道怎么回事吗?有人有别的解决办法吗C# Windows Phone 8中与分辨率相关的背景,c#,image,xaml,windows-phone-8,resolution,C#,Image,Xaml,Windows Phone 8,Resolution,我跟随MSDN的文章在WindowsPhone8中创建分辨率相关的背景,但它总是显示空白背景 有人知道怎么回事吗?有人有别的解决办法吗 public enum Resolutions { WVGA, WXGA, HD720p, HD }; private static bool IsWvga { get { return App.Current.Host.Content.ScaleFactor == 100;
public enum Resolutions { WVGA, WXGA, HD720p, HD };
private static bool IsWvga
{
get
{
return App.Current.Host.Content.ScaleFactor == 100;
}
}
private static bool IsWxga
{
get
{
return App.Current.Host.Content.ScaleFactor == 160;
}
}
private static bool Is720p
{
get
{
return App.Current.Host.Content.ScaleFactor == 150;
}
}
private static bool IsHD
{
get
{
return App.Current.Host.Content.ScaleFactor == 150;
}
}
将其添加到类的顶部,并使用这些静态变量设置特定于分辨率的图像。你说你想设置“分辨率相关背景”,据我所知,你想在背景上设置一些图像?如果希望将图像设置为页面背景,则将LayoutRoot
网格的ImageBrush
设置为分辨率特定的图像(480x800.jpg、720x1280.jpg等),如下所示
ImageBrush image = new ImageBrush();
if (IsWvga)
{
//set your bitmap
}
else if (IsWxga)
{
//set your bitmap
}
else if (Is720p)
{
//set your bitmap
}
else if(IsHD)
{
//set your bitmap
}
image.Stretch = Stretch.UniformToFill;
LayoutRoot.Background = image;
或
如果希望屏幕UI元素符合分辨率,请在XAML中将UI元素的高度设置为auto
,或者在页面的OnNavigatedTo
事件中设置UI元素的特定分辨率高度。这可能是任何随机网格的网页,需要适应
if (IsWvga)
{
grid.Height = 500;
}
else if (IsWxga)
{
grid.Height = 600;
}
else if (Is720p)
{
grid.Height = 700;
}
else if (IsHD)
{
grid.Height = 800;
}
MSDN文章在MultiResImageChooser
类中有错误,MultiResImageChooser
写为MultiResImageChooserUri
&相对URI缺少前导斜杠。下面给出了正确的分类
public class MultiResImageChooser
{
public Uri BestResolutionImage
{
get
{
switch (ResolutionHelper.CurrentResolution)
{
case Resolutions.HD:
return new Uri("/Assets/MyImage.screen-720p.jpg", UriKind.Relative);
case Resolutions.WXGA:
return new Uri("/Assets/MyImage.screen-wxga.jpg", UriKind.Relative);
case Resolutions.WVGA:
return new Uri("/Assets/MyImage.screen-wvga.jpg", UriKind.Relative);
default:
throw new InvalidOperationException("Unknown resolution type");
}
}
}
}
但在较新的型号上,它是一个更高分辨率的黑色。我不明白你说的。我也不明白你尝试过的,实际发生的情况与你预期的情况,等等。图像不显示,在设计时,我可以在模拟器中看到图像,它根据主题显示为白色或黑色。谢谢回复,但我不想这样做。我想采用更具体的XAML方法