C# Windows Phone 8中与分辨率相关的背景

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;

我跟随MSDN的文章在WindowsPhone8中创建分辨率相关的背景,但它总是显示空白背景

有人知道怎么回事吗?有人有别的解决办法吗

   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方法