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.
Bueno eso es todo. Espero les sirva.