2015-10-19 3 views
0

Я сделал переключатель, на котором программа должна менять все фоны элементов-гигов. Поэтому я сделал новый чейнджера класс (View Model), который обращается каждый файл XAML и изменяет цвет фона:Доступ к элементам 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

Таким образом, вы получили новый экземпляр TheView1 в классе ChangeBackground, но вам нужна ссылка на существующий TheView1 – Luca

+0

так передать его? –

+0

yes Пропустите его (даже если это не очень хороший подход) –

ответ

Смежные вопросы