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.

Published 18/3/2008 18:27 por Romny
Archivado en:
Comparte este post:
http://geeks.ms/blogs/rduarte/archive/2008/03/18/siguiendo-con-windowsformshost-wpf.aspx