none
MainPageの背景色を変更する方法。 RRS feed

  • 質問

  • xamlの画面の背景色をコードで変更したいと思っています。ただどうやって変更すれば良いのかわかりません。

    Windows.UI.Xaml.Controls.Grid.BackgroundProperty

    というところで変更すれば良いのでしょうか? ただ、やり方がわかりません。

    どうぞ、ご教示頂きますよう、よろしくお願い致します。

    2015年4月19日 21:54

回答

  • Page自体のBackgroundPropertyは反映されないようです。

    代わりに、

    <Page x:Class="App1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
        <Grid x:Name="grid1>
            <!-- 中身 -->
        </Grid>
    </Page>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            this.Loaded += MainPage_Loaded;
        }
    
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            grid1.Background = new SolidColorBrush(Colors.Red);
        }
    }
    のようにPageのすぐ内側にMarginなしのGridなどを配置して、それのBackgroundを変更する。

    あるいは、

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
    
            this.Loaded += MainPage_Loaded;
        }
    
        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            this.Frame.Background = new SolidColorBrush(Colors.Green);
        }
    }

    のように、Pageが表示されるFrame(親)のBackgroundを変更することで対応できます。こちらの場合は別ページに遷移しても影響が残るので注意が必要です。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答の候補に設定 星 睦美 2015年4月21日 5:31
    • 回答としてマーク 星 睦美 2015年5月8日 0:27
    2015年4月20日 3:55