Как реализовать метод Invoke? - PullRequest
2 голосов
/ 02 ноября 2010

Я искал много тем, но это уже слишком сложно понять.Я даже не вижу this.Invoke ();method.

Вот мой сценарий:

У меня есть этот UserControl с именем test1.xaml, и у него есть элемент управления кадром с именем frame1

В основном test1.xaml.cs содержит

public test1()
    {
        InitializeComponent();
           this.frame1.Content = new test();
    }

Далее у меня есть другой пользовательский контроль с именем test2.xaml, и я хотел бы, чтобы у него была кнопка с именем button1.Я хочу, чтобы, когда загружен test2.xaml и пользователь нажимает кнопку, я хотел бы переключить его страницу навигации на следующую страницу.

public test2()
    {

        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        MainWindow MW = Application.Current.MainWindow as MainWindow;
        MW.label1.Content = MW.tabControl.SelectedIndex;
        TabItem page = MW.tabControl.SelectedItem as TabItem;
        test1 a = new test1();
        a.frame1.Navigate(new Uri(@"/UserControls/salesBtn.xaml", UriKind.Relative));

    }

Это код, который у меня есть вмой test2.xaml.cs.Теперь я знаю, что делаю это неправильно при нажатии кнопки, так как я просто создаю новый пользовательский элемент управления и не ссылаюсь на фактический элемент управления, который больше не работает.Как вызвать или как заставить фрейм test1.xaml перейти к указанному пути?

1 Ответ

3 голосов
/ 02 ноября 2010

Я просто хотел бы манипулировать свойством control из другого класса

Затем выставьте его как публичный метод.

Например:

public class MyFirstObject {
  private string MyValue {get;set;}
  public void UpdateMyValue(string newValue) { MyValue = newValue; }
}

public class MySecondObject {
  MyFirstObject myFirstObject;
  public MySecondObject {
    myFirstObject = new MyFirstObject;
    myFirstObject.UpdateMyValue( "someNewValue" );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...