форма управления из другой формы в wpf - PullRequest
0 голосов
/ 20 августа 2010

как управлять главной формой из другого примера формы Я хочу получить доступ к таблице в основной форме из другой формы в wpf?

Ответы [ 3 ]

0 голосов
/ 20 августа 2010

salamonti, вы хотите получить доступ к элементу управления в главной форме или к данным, которые отображает элемент управления?Если последнее, я бы посоветовал вам хранить данные в отдельной области, чем элемент управления, представляющий их.Это может быть достигнуто с MVVM и несколькими другими шаблонами разделения представления.Вы также можете использовать Routed Events и Routed Commands для выполнения кода в одной «форме» из другой.

Если вы хотите получить доступ к «главной форме» из дочерней формы, вы можете создать свойство вдочерняя форма типа FrameworkElement, например.Затем, когда вы создаете дочернюю форму, просто заполните это свойство экземпляром главной формы.Таким образом, у вас будет доступ ко всему, что вы хотите в основной форме.

0 голосов
/ 20 августа 2010

это крошечный пример взаимодействия между окнами в WPF

. Вы можете ссылаться на элементы управления так же, как вы делаете это с полями классов, потому что это то, что они

public class Form1 : Window
{
    public DateTime FormCreationDate {get; set;}

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        Form2 a = new Form2();
        a.Owner = this;
        a.Show();
    }
}


public class Form2 : Window
{
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        this.label1.Content = string.Format(
            "the owner of this window was created on {0}", 
            ((Form1)this.Owner).FormCreationDate.ToString());
    }
}
0 голосов
/ 20 августа 2010

Вы можете использовать автоматизацию пользовательского интерфейса (которая позволит вам взаимодействовать с ней только так, как если бы вы нажимали / нажимали на элементы управления): http://msdn.microsoft.com/en-us/library/dd561932(VS.85).aspx

Или вы можете использовать код для передачиссылка из одного окна в другое, возможно, в вашем классе Application.

Нет ничего конкретного для WPF, который бы облегчил или затруднил реализацию любого из вариантов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...