从类

时间:2015-10-19 08:31:17

标签: c# wpf xaml

我做了一个开关,程序应该改变gieven元素的所有背景。 因此,我创建了一个新的更改器类(View Model),它访问每个xaml文件并更改背景颜色:

TheView1.xaml :(部分)

<ScrollView
    x:Name="myScrollView" [...]

TheView1.xaml.cs :(部分)

void switch_Toggled(object sender, ToggledEventArgs e)
    {
        if (themeSwitch.IsToggled)
        {
           ChangeBackground.ChangeColor();
        }
    }

ChangeBackgrounds.cs

public static class ChangeBackground
{
    TheView1 tv1 = new TheView1();
    public static void ChangeColor()
    {            
        tv1.myScrollView.BackgroundColor = [...];
        tv1.myButton.BackgroundColor = [...];
    }
}

VS然后说“tv1不包含myScrollView和myButton的定义”。但他们显然在那里,为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

如果您正在使用WPF,请使用MVVM模式尝试并绑定背景颜色。

我在stackoverflow上发现了一个几乎相似的问题:Change Button Background color through MVVM pattern in WPF