Actualización de la fuente del marco en tiempo de ejecución en WPF

Tenemos una aplicación WPF que usa un marco para mostrar una página. Esta página tiene un solo TextBlock llamado "myTextBlock". Establecemos la fuente del marco programáticamente de la siguiente manera:

myFrame.Source = new Uri("sourceOfPage.xaml", UriKind.Relative);

Queremos cambiar el texto de myTextBlock en tiempo de ejecución.

 public partial class Page1 : Page
{
    ......

    public Page1(string textToBeShown)
    {
        InitializeComponent();
        this.myTextBlock.Text = textToBeShown;
    }
}

Debido a que no inicializamos la página mediante programación, no podemos enviar ningún texto a la página (la página debe mostrar el texto según la condición). Nosotros tratamos:

Page1 myPage = new Page1("Hello");
myFrame.Source = myPage; // It doesn't work

Entonces, ¿cómo podemos pasar el parámetro a la página y mostrarlo en el marco? ¿Es posible? Si es así, ¿cómo podemos lograrlo?

Nota: Mi compañero de trabajo creó una nueva clase estática. Esta clase estática tiene propiedad de cadena. Luego establece el valor de esta propiedad y lo muestra en la página. Resolvió el problema.

Gracias por adelantado

preguntado el 02 de julio de 12 a las 08:07

Lo siento, realmente no entendí lo que quieres. ¿Puedes publicar un poco más de código o hablar sobre el problema? -

bien. Supongo que si cambia al patrón MVVM (que se adapta muy bien a la mayoría de las cosas relacionadas con WPF), su problema desaparecerá. su bloque de texto tiene un enlace a alguna propiedad en su contexto de datos. cambie la propiedad (usando INotifyPropertyChanged) y el resto funciona de inmediato. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.