我做了一个开关,程序应该改变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的定义”。但他们显然在那里,为什么它不起作用?
答案 0 :(得分:1)
如果您正在使用WPF,请使用MVVM模式尝试并绑定背景颜色。
我在stackoverflow上发现了一个几乎相似的问题:Change Button Background color through MVVM pattern in WPF