Как получить элемент из ControlUser в другом ControlUser
Есть ControlUser внутри него есть еще ControlUser добавленный таким образом:
xmlns:controluser="clr-namespace
В ControlUser являющимся родителем есть TextBox, как мне его достать в коде ControlUser, который внутри этого родителя?
Ответы (1 шт):
Автор решения: Programmer
→ Ссылка
Нужно создать метод с событием PropertyChanged:
public class TextEvent : INotifyPropertyChanged
{
public string text;
public string Text
{
get
{
return text;
}
set
{
text = value;
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Text"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
В ControlUser, который родитель нужно подписаться на событие PropertyChanged:
public MainControlUser()
{
Models.TextEvent.PropertyChanged += TextEvent;
}
public void TextEvent(object sender, PropertyChangedEventArgs e)
{
if(e.PropertyName != null)
{
InputTextBox.Text += Models.TextEvent.Text;
}
}
В ControlUser, который внутри ControlUser родителя повесить на все кнопки событие клика, которое по нажатию будет отправлять текст в метод с событием PropertyChanged:
private void TextSend(object sender, RoutedEventArgs e)
{
string text = "tyt text";
Models.TextEvent.Text = text;
}