0

少し質問があります。アプリケーションの背景を C# で変更したいと考えています。私はこのコードを試しました:

var app = Application.Current as App;
var imageBrush = new ImageBrush
{
ImageSource = new BitmapImage(new Uri(imageName, UriKind.Relative))
};
app.RootFrame.Background = imageBrush;

しかし、それは機能しません。背景が暗いです..私はやろうとしました:

app.RootFrame.Background = new SolidColorBrush(Colors.Blue);

そして、それはうまく機能します。どこに問題があるのか​​ わかりません。私の画像は480 * 800ピクセルで、ビルドアクションコンテンツに設定し、出力ディレクトリコピーして新しい場合はコピーします。

全てに感謝

4

3 に答える 3

1

多分あなたはそれを試すことができます

        var app = Application.Current as App;
        if (app == null)
            return;

        var imageBrush = new ImageBrush
        {
        };
        var uu = new BitmapImage(new Uri(imageName, UriKind.Relative));
        uu.CreateOptions = BitmapCreateOptions.None;
        imageBrush.ImageSource = uu;

        app.RootFrame.Background = imageBrush;

マーク: uu.CreateOptions = BitmapCreateOptions.None;

于 2012-10-19T03:33:29.743 に答える
0

パノラマコントロールの背景として画像を設定していることを除いて、画像でほぼ同じことを正常に実行しています。他の誰かがこの投稿で行ったのと同じ問題を抱えていることを知っているので、app.RootFrameの代わりにLayoutRootまたは他のコントロールの背景を設定することを提案しました。

于 2012-10-18T22:57:47.770 に答える
0

あなたがた両方に感謝します !!

以前に 2 つのソリューションを別々に試しましたが、うまくいきませんでした。しかし、一緒にそれは完全に機能します!

コード :

var imageBrush = new ImageBrush
{
};
var uu = new BitmapImage(new Uri("/Images/image.png", UriKind.Relative));
uu.CreateOptions = BitmapCreateOptions.None;
imageBrush.ImageSource = uu;

LayoutRoot.Background = imageBrush;
于 2012-10-19T06:55:27.793 に答える