Лучший способ решить проблему совокупности данных

Пожалуйста, я был бы очень признателен, если бы кто-то мог мне помочь с этим, прошло 4 дня и до сих пор, с моими знаниями в C#, я не могу решить эту проблему.

Мне нужно руководство

Поэтому я десериализую XML-документ и у меня есть такая структура:

public class ServiceConfig
{
    public List<DatabaseDescriptor> Databases { get; set; }  
}

public class DatabaseDescriptor
{
    [XmlElement("Name")]
    public string Name { get; set; }
    public List<Table> Tables { get; set; }        
}

public class Table
{  
    [XmlElement("ID")]
    public string ID { get; set; }
    [XmlElement("TableName")]
    public string TableName { get; set; }
}
public xml.ServiceConfig xmlData { get; set; }

Я много борюсь, я попробовал Datagridviews, Datatables и так далее, для чего-то, что, по-видимому, просто.

У меня есть датагрид, который заполняется из DatabaseDescriptor объект, и когда я нажимаю на ячейку базы данных, T должен получить ее таблицы из Table объект.

Мне нужно иметь возможность добавлять таблицы, потому что мне нужно хранить данные в памяти, а затем, в конце концов, мне нужно снова сериализовать в XML.

Как мне сделать часть получения соответствующих таблиц данных для каждой базы данных? Пожалуйста, если вы не можете мне помочь, избегайте саркастических или ироничных комментариев.

1 ответ

Решение

С чем на самом деле вы боретесь? Визуальное представление вашей структуры данных в WPF? Если вы пытаетесь отобразить дочерние элементы осмысленным образом, вы можете использовать TreeView как это:

<TreeView ItemsSource="{Binding Databases}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type myTypes:DatabaseDescriptor}" ItemsSource="{Binding Path=Tables}">
            <TextBlock Text="{Binding Name}" />
        </HierarchicalDataTemplate>
        <DataTemplate DataType="{x:Type myTypes:Table}">
            <TextBlock Text="{Binding TableName}" />
        </DataTemplate>
    </TreeView.Resources>
</TreeView>

Или использовать DataGrid с указанным DataTemplate может быть? Или даже два отдельных DataGrid контролирует, чтобы второй отображал дочерние элементы при выборе строки другого.

Другие вопросы по тегам