Невозможно получить доступ к нестатическому полю в статическом контексте - PullRequest
0 голосов
/ 02 октября 2018

У меня есть UserControl внутри этого StackPanel, в котором я динамически добавил еще UserControl_1 более 1 раза.Теперь этот ребенок UserControl_1 содержит TextBox.Я хочу получить дочернее значение UserControl_1 TextBox в родительский контейнер UserControl.Как я могу ?

В UserControl_1, который содержит TextBox Я использовал это свойство

    public static string ProductNameValue
    {
        get
        {
            return ProductNameBox.Text;
        }
    }  

В то время как в Parent UserControl я использую это для получения значения.

    string a = UserControl_1.ProductNameValue; 

Показанная ошибка не может получить доступ к нестатическому полю из статического контекста

РЕДАКТИРОВАТЬ:
В основном то, что я делаю, этоЗагрузка или добавление UserControl_1 много раз, который содержит TextBox в другой родительский UserControl.
Теперь я хочу получить значение TextBox динамически добавленного UserControl_1 в родительском USerControl.

1 Ответ

0 голосов
/ 02 октября 2018

UserControl может иметь несколько экземпляров.Какое значение текстового поля экземпляра вы хотите вернуть из статического свойства?Подсказка: вы не знаете.Получите доступ к текстовому полю через ссылку на экземпляр UserControl_1 вместо

Вы говорите, что используете этот пользовательский контроль в «родительском» (т. Е. Контейнере) элементе управления.Затем у вас должен быть элемент, ссылающийся на этот элемент управления.

Если предположить, что элемент просто называется this.userControl_1, тогда вы можете сделать свойство строки вашего пользовательского элемента управления нестатическим:

public string ProductNameValue
{
    get
    {
        return ProductNameBox.Text;
    }
}  

Изатем в элементе управления вы делаете:

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