Siguiendo con WindowsFormsHost WPF

Siguiendo con el tema de WindowsFormsHost en WPF, esta vez quize hacer una sencilla aplicacionn para hacer test con conexion a DB.

Primero cargo datos en un Listbox para que me muestre que examen hay disponible.

    <ListBox x:Name="lb"
                HorizontalAlignment="Left"
                ItemsSource="{Binding Path=QuizContactData}"
                ItemTemplate  ="{StaticResource QuizItemTemplate}"
                ItemContainerStyle="{StaticResource liStyle}"
                IsSynchronizedWithCurrentItem="True"
                Background="Honeydew"
      
                Grid.Row="1" 
                Grid.Column="0" Grid.ColumnSpan="3"/>

 

   1: private void OnInit(object sender, EventArgs e)
   2:         {
   3:             //Conexion a la Bd
   4:             string connectionString = @"Initial Catalog=Exam;Data Source=localhost;Integrated Security=SSPI;";
   5:             DataSet dataSet = new DataSet();
   6:             using (SqlConnection connection = new SqlConnection(connectionString))
   7:             {
   8:                 SqlDataAdapter adapter = new SqlDataAdapter();
   9:                 adapter.SelectCommand = new SqlCommand(
  10:                     "SELECT * FROM Exam ", connection);
  11:                 adapter.Fill(dataSet, "QuizContactData");
  12:             }
  13:             
  14:             lb.DataContext = dataSet;
  15:             
  16:         }

Para la aplicacion voy a usar un panel y un radiobutton de windows form y los voy a agregar al xalm por codigo.

   1: System.Windows.Forms.Panel wpanel = new System.Windows.Forms.Panel();
   2: wpanel.AutoSize = true;                      
   3: wpanel.Controls.Clear();

el panel le coloco la propiedad de AutoSize ya que si no tendremos problemas con el propio panel para visualizar el radiobutton.

   1: System.Windows.Forms.RadioButton rb = new System.Windows.Forms.RadioButton();
   2:                         
   3: rb.Text = r.GetString(1);
   4: rb.Tag = r.GetInt32(0);
   5: wpanel.Controls.Add(rb);
   6:  
   7:  
   8: rb.CheckedChanged += new EventHandler(rb_CheckedChanged);
   9:  
  10: rb.Location = new System.Drawing.Point(0, 32 * c);
  11: if ((int)rb.Tag == selectedAnswers[CurrentAsk])
  12:     rb.Checked = true;
  13: host.Child = wpanel;

como podra ver el radiobutton en la propiedad location, tengo que indentificarlo como System.Drawing.Point, ya que si solamente le digo Point, lo toma de windows forms y hay problema al compilarlo por incompatibilidad del Point. Por supuesto las imagenes.

WP1

WP2

WP3

 

 

Bueno eso es todo. Espero les sirva.

Publicado por

Romny Duarte

Ingeniero de sistemas con experiencia en desarrollo web y móvil, geek, amante de la lectura y de la tecnología.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *