Изменить текстовый блок Usercontrol из MainWindow

Привет, у меня есть пользовательский элемент управления под названием «Заказ», а в элементе управления «Порядок» я получил еще один пользовательский элемент управления «Статус». Затем я поместил Order Control в главное окно. Когда пользователи меняют язык, я пишу, как показано ниже.

// change culture info.
this.Order.lbl_test.Content = resBundle.GetString("Resources", "Order.Label.Content.Test");

У меня также есть один текстовый блок в «Статус» UserControl. Как я могу изменить этот текстовый блок из MainWindow, как я изменил метку управления порядком?


person TNA    schedule 08.07.2011    source источник
comment
Вы должны использовать MVVM. привязать текст Order.Label к свойству модели представления заказа. то вы можете установить свойство OrderViewModel из окна. Затем вызовите OnPropertyChanged для свойства. Текст будет автоматически обновлен.   -  person seekle    schedule 08.07.2011


Ответы (1)


Назначьте x:Name (например, «StatusText») для TextBlock в вашем статусе UserControl. Затем добавьте свойство в элемент управления Order с именем StatusText:

public string StatusText
{
    get { return Status.StatusText.Text; }
    set { Status.StatusText.Text = value; }
}

Теперь вы можете сказать:

this.Order.StatusText = resBundle.GetString("Resources", "SomeLabel");
person Ed Bayiates    schedule 08.07.2011