none
silverlight RRS feed

  • Pregunta

  • Hola! =) estoy programando una pagina web en silverlight, estoy a prendiendo, mis preguntas son como puedo yo vincular varios usercontrol a traves de botones, y como puedo mostrar el contenido de un archivo en un richttextbox.. espero sus respuestas...  saludos
    viernes, 6 de mayo de 2011 23:05

Respuestas

  • Hola gaxe.

     

    1.- para cargar un control de usuario a traves de un boton, tan solo tienes que crearlo y asociarlo al contenedor que quieras.

    2.- Un RitchTextBox es un control para texto formateado, de modo que como tal hay que realizar una serie de pasos y es algo parecido al OpenXml de Office.

    Te voy a poner un ejemplillo con las 2 cosas:

      <Grid x:Name="LayoutRoot" Background="White">
        
        <Grid.RowDefinitions>
          <RowDefinition Height="Auto" />
          <RowDefinition Height="Auto"/>
          <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
        <RichTextBox Grid.Row="2" HorizontalAlignment="Left" Name="richTextBox1" VerticalAlignment="Top" />
      </Grid>
    

    En este codigo hay un grid con 3 filas, un boton, un RitchTextBox y una vacia donde se insertara el control de usuario que quieras.

    El boton tiene un evento y al pulsarlo esta este codigo:

        private void button1_Click(object sender, RoutedEventArgs e)
        {
          // CONTROL DE USUARIO
          // crear control de usuario
          SilverlightControl1 usercontrol = new SilverlightControl1();
          // establecerle la fila 3 del grid
          usercontrol.SetValue(Grid.RowProperty, 2);
          // añadir a los hijos del grid principal (o cualquier otro)
          LayoutRoot.Children.Add(usercontrol);
    
    
          // RITCHTEXTBOX
          // cargar archivo de texto y guardarlo en un string
          string textoArchivo = "Texto proveniente de un archivo para insertarlo en el 'RichTextBox'";
    
          // Crear un elemento Run para insertar texto
          Run run = new Run();
          run.Text = textoArchivo;
    
          // Crear un parrafo para el RichTextBox
          Paragraph paragraph = new Paragraph();
          paragraph.Inlines.Add(run);
    
          // Añadir el parrafo al RichTextBox
          richTextBox1.Blocks.Add(paragraph);
        }
    

    En el evento se crea el control de usuario y se asocia a la fila 3 del grid, tras lo cual se añade al grid en su coleccion.

    En la siguiente parte se puede ver como el texto (que te vendra de un archivo o cualquier otra fuente), se tiene que añadir a un elemento Run, el cual se agrega a un parrafo y este a un bloque del RichTextBox.

    El RichTextBox puede llegar a ser todo lo complejo que quieras para crear un documento con formato, si lo quieres sin formato usa un textBlock.

    Ya contaras si es lo que buscas

     


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/
    jueves, 12 de mayo de 2011 16:04

Todas las respuestas

  • Hola gaxe.

     

    1.- para cargar un control de usuario a traves de un boton, tan solo tienes que crearlo y asociarlo al contenedor que quieras.

    2.- Un RitchTextBox es un control para texto formateado, de modo que como tal hay que realizar una serie de pasos y es algo parecido al OpenXml de Office.

    Te voy a poner un ejemplillo con las 2 cosas:

      <Grid x:Name="LayoutRoot" Background="White">
        
        <Grid.RowDefinitions>
          <RowDefinition Height="Auto" />
          <RowDefinition Height="Auto"/>
          <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
        <RichTextBox Grid.Row="2" HorizontalAlignment="Left" Name="richTextBox1" VerticalAlignment="Top" />
      </Grid>
    

    En este codigo hay un grid con 3 filas, un boton, un RitchTextBox y una vacia donde se insertara el control de usuario que quieras.

    El boton tiene un evento y al pulsarlo esta este codigo:

        private void button1_Click(object sender, RoutedEventArgs e)
        {
          // CONTROL DE USUARIO
          // crear control de usuario
          SilverlightControl1 usercontrol = new SilverlightControl1();
          // establecerle la fila 3 del grid
          usercontrol.SetValue(Grid.RowProperty, 2);
          // añadir a los hijos del grid principal (o cualquier otro)
          LayoutRoot.Children.Add(usercontrol);
    
    
          // RITCHTEXTBOX
          // cargar archivo de texto y guardarlo en un string
          string textoArchivo = "Texto proveniente de un archivo para insertarlo en el 'RichTextBox'";
    
          // Crear un elemento Run para insertar texto
          Run run = new Run();
          run.Text = textoArchivo;
    
          // Crear un parrafo para el RichTextBox
          Paragraph paragraph = new Paragraph();
          paragraph.Inlines.Add(run);
    
          // Añadir el parrafo al RichTextBox
          richTextBox1.Blocks.Add(paragraph);
        }
    

    En el evento se crea el control de usuario y se asocia a la fila 3 del grid, tras lo cual se añade al grid en su coleccion.

    En la siguiente parte se puede ver como el texto (que te vendra de un archivo o cualquier otra fuente), se tiene que añadir a un elemento Run, el cual se agrega a un parrafo y este a un bloque del RichTextBox.

    El RichTextBox puede llegar a ser todo lo complejo que quieras para crear un documento con formato, si lo quieres sin formato usa un textBlock.

    Ya contaras si es lo que buscas

     


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/
    jueves, 12 de mayo de 2011 16:04
  • Hola!

    Solo por complementar lo que dice David, y sabiendo que en ocasiones me pongo muy pesado con esto ( :-P) si estás aprendiendo Silverlight es buen momento para hacer las cosas bien y empezar a aprender también el patron MVVM que va de la mano con Silverlight:

    http://geeks.ms/blogs/jyeray/archive/2010/12/21/channel9-construir-aplicaciones-silverlight-con-mvvm.aspx

    Este enlace te lleva a un video de channel9 en español que grabe hace unos meses y explica como usar MVVM con Silverlight.

    Un saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    viernes, 13 de mayo de 2011 5:01
    Moderador
  • Nunca se es lo suficientemente pesado con las buenas practicas ;)

     


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/
    viernes, 13 de mayo de 2011 6:43