Чтение XML-файла создает пользовательский интерфейс - PullRequest
1 голос
/ 22 сентября 2009

Ниже приведен пример XML, который я хочу прочитать и создать несколько графических интерфейсов на основе этих структур во время выполнения (основная идея заключается в чтении полей из файла XML и создании экрана для пользовательского ввода).

Я написал некоторый пример кода, который создает экран во время выполнения, однако я не уверен, как это сделать, когда я хочу прочитать поля из файла XML.

Любая помощь очень ценится.

Ниже приведен пример кода C # для этого (я хочу сделать это в WPF).

private void Init()
{
    StackPanel spParent = new StackPanel();
    StackPanel sp;
    for (int i = 0; i < 5; i++)
    {
        sp = CreateLabelTextPair(i);
        spParent.Children.Add(sp);
    }
    spParent.Orientation = Orientation.Vertical;
    spParent.Margin = new Thickness(2);

    this.Content = spParent;
    this.Height = spParent.Height + 10;
    this.Width = spParent.Width + 10;
}

StackPanel CreateLabelTextPair(int i)
{
    StackPanel sp = new StackPanel();

    Label lbl = new Label();
    lbl.Height = 25;
    lbl.Width = 100;
    lbl.Content = "Label" + (i+1);
    sp.Children.Add(lbl);

    sp.Margin = new Thickness(2);

    TextBox tb = new TextBox();
    tb.Height = 25;
    tb.Width = 100;
    tb.Text = "TextBox" + (i+1);
    sp.Children.Add(tb);

    sp.Height = lbl.Height;
    sp.Width = lbl.Width+tb.Width+10;

    sp.Orientation = Orientation.Horizontal;
    return sp;
}

Ниже приведен пример XML (который я хочу прочитать и создать графический интерфейс, похожий на экран ввода данных).

  <DataSet>
      <Data>
        <Field1>Name</Field1>
        <Field2>DataType</Field2>
        <Field3>Length</Field3>
        <Field4>DefaultValue</Field4>
        <Field5>IsNull</Field5>
        <Field6>Precesion</Field6>
      </Data>
  </DataSet>

1 Ответ

3 голосов
/ 22 сентября 2009

обо всем по порядку. Поскольку вы хотите создать WPF, почему бы вам не использовать XSLT для преобразования вашего xml в XAML.

Однако, если это больше, чем вам нужно, посмотрите на Linq2Xml .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...