if (modeloAlternativa.Enunciado != null) { enunciado = new TextBlock(); enunciado.MaxWidth = 700; enunciado.Margin = new Thickness(0,0,0,10); enunciado.Text = modeloAlternativa.Enunciado; enunciado.TextWrapping = TextWrapping.Wrap; enunciado.FontSize = 12; enunciado.FontFamily = new FontFamily("Times New Roman"); panel.Children.Add(enunciado); }
if (modeloAlternativa.ImagemQuestao != null) { imagemQuestao = new Image(); imagemQuestao.Source = new BitmapImage(new Uri(modeloAlternativa.ImagemQuestao, UriKind.Relative)); imagemQuestao.Width = 300; imagemQuestao.Height = 100; imagemQuestao.Margin = new Thickness(0, 0, 0, 10); panel.Children.Add(imagemQuestao); }
if (modeloAlternativa.Explicacao != null) { explicacao = new TextBlock(); explicacao.MaxWidth = 700; explicacao.Text = modeloAlternativa.Explicacao; explicacao.TextWrapping = TextWrapping.Wrap; explicacao.FontSize = 12; explicacao.FontFamily = new FontFamily("Times New Roman"); explicacao.Margin = new Thickness(0, 0, 0, 10); panel.Children.Add(explicacao); }
if (modeloAlternativa.ImagemExplicativa != null) { imagemExplicativa = new Image(); imagemExplicativa.Source = new BitmapImage(new Uri(modeloAlternativa.ImagemExplicativa, UriKind.Relative)); imagemExplicativa.Width = 300; imagemExplicativa.Height = 100; imagemExplicativa.Margin = new Thickness(0, 0, 0, 10); panel.Children.Add(imagemExplicativa);
}
if (modeloAlternativa.Alternativas != null) { foreach (Alternativa alternativa in modeloAlternativa.Alternativas) {
StackPanel panelAlternativa = new StackPanel(); TextBlock checkbox = new TextBlock(); TextBlock txtItem = new TextBlock(); TextBlock txtAlternativa = new TextBlock(); Image imagemAlternativa = new Image();
Em primeiro lugar, não use um StackPanel: embora mais fácil, ele não irá permitir que você posicione os elementos do jeito que você quer. Use um Canvas e vá posicionando os elementos com as propriedades Canvas.Left e Canvas.Top:
Canvas panelAlternativa = new Canvasl();
int posAtu = 10; for (int i = 0;i<100;i++) { if (posAtu > 8*96) CriaNovaPagina(); TextBox txtItem = new TextBox(); txtItem.Text = alternativa.Item; txtItem.Width = 50; txtAlternativa.FontSize = 12; txtAlternativa.FontFamily = new FontFamily("Times New Roman"); txtAlternativa.SetValue(Canvas.LeftProperty,10); txtAlternativa.SetValue(Canvas.TopProperty,posAtu); posAtu += 20; panelAlternativa.Children.Add(txtItem); }