none
Usar botones de XAML externo RRS feed

  • Pregunta

  • He logrado cargar un archivo XAML externo con xalm.Reader, pero ya que lo carga necesito usar sus botones, de esta manera si cargo un xaml que se llamara "Nuevo" quiero programar sus botones como "Guardar" o "Cancelar".

    Agradezco su atención. 

    jueves, 1 de marzo de 2012 0:42

Respuestas

  • Ya lo logré, se hace así 

     string nombre = @"loquecargo.xaml";


                DependencyObject rootElement;
                using (FileStream fs = new FileStream(nombre, FileMode.Open))
                {
                    rootElement = (DependencyObject)XamlReader.Load(fs);
                }


                PanelAccion.Content= rootElement;
                FrameworkElement frameworkElement = (FrameworkElement)rootElement;


                Label lbEnviar = (Label)frameworkElement.FindName("lblEnviar");
                 lbEnviar.MouseUp += new MouseButtonEventHandler(lbEnviar_MouseUp);

    Y al final sólo programan los eventos

    • Marcado como respuesta SamuelMX jueves, 15 de marzo de 2012 23:27
    jueves, 15 de marzo de 2012 23:27

Todas las respuestas

  • Si te entiendo bien debes buscar tus botones dentro del objeto que cargaste y, una vez encontrados, hacer lo que quieras con ellos.

    Blog: Silverideas

    jueves, 1 de marzo de 2012 13:09
  • Intenté hacer el Find pero no me funcionó, ahora creo que puedo solucionarlo cargando un USERCONTROL dentro de un CONTENTCONTROL, ¿sabes como puedo hacer esto?
    jueves, 1 de marzo de 2012 19:40
  • ¿Sabes como buscar y usar los botones?
    martes, 6 de marzo de 2012 18:57
  • Ya lo logré, se hace así 

     string nombre = @"loquecargo.xaml";


                DependencyObject rootElement;
                using (FileStream fs = new FileStream(nombre, FileMode.Open))
                {
                    rootElement = (DependencyObject)XamlReader.Load(fs);
                }


                PanelAccion.Content= rootElement;
                FrameworkElement frameworkElement = (FrameworkElement)rootElement;


                Label lbEnviar = (Label)frameworkElement.FindName("lblEnviar");
                 lbEnviar.MouseUp += new MouseButtonEventHandler(lbEnviar_MouseUp);

    Y al final sólo programan los eventos

    • Marcado como respuesta SamuelMX jueves, 15 de marzo de 2012 23:27
    jueves, 15 de marzo de 2012 23:27