WPF и C#: доступ, ссылка и установка значения для управления свойствами из другого класса

Очень простая установка — новый проект WPF Visual Studio 2010 по умолчанию с классами MainWindow и App и XAML. В MainWindow есть только простой элемент управления, texbox, назовем его TB. Все, что я пытаюсь сделать, это получить доступ, прочитать и изменить свойства TB из другого класса, такого как App. Вот и весь код, который я написал, все еще ничего не могу сделать. Я предпочитаю не присваивать переменным значения из свойств TB, а управлять ими напрямую.


person Gabe    schedule 08.06.2011    source источник
comment
Вы можете сделать это только тогда, когда ваш класс, управляющий свойствами TB, имеет ссылку на ваше MainWindow или непосредственно на TB   -  person Piotr Auguscik    schedule 08.06.2011


Ответы (1)


Класс, в котором вы хотите изменить ТБ, сохраните ссылку на ТБ в этом классе. Затем, используя эту ссылку, вы можете изменить свойства TB.

сделать что-то вроде этого..

 public class MyClass
    {
        Textbox m_TextBox;

        public MyClass(Textbox TB)
        {
        m_TextBox = TB;
        }

        ModifyTextbox()
        {
           m_TextBox.Text = "Hello World";
        }
    }

в MainWindow.cs создайте новый экземпляр MyClass

   MyClass myClass = new MyClass(TB);
person Haris Hasan    schedule 08.06.2011
comment
Может быть, это я, но я не понимаю. MainWindow — это класс, и в проекте нет его экземпляра. - person Gabe; 09.06.2011
comment
Когда вы запускаете свое приложение WPF, это запущенный экземпляр MainWindow. - person Haris Hasan; 09.06.2011
comment
ОК... Итак, каково имя экземпляра? - person Gabe; 09.06.2011
comment
вы можете получить экземпляр MainWindow, используя этот код Application.Current.MainWindow - person Haris Hasan; 09.06.2011
comment
Попробуйте следовать базовому сквозному руководству по простому приложению WPF. - person Haris Hasan; 09.06.2011
comment
Спасибо за ваше терпение. К книгам. - person Gabe; 09.06.2011