Silverlight 4 DataGrid Как сделать так, чтобы вложенные данные сетки данных отображались горизонтально, а не вертикально - PullRequest
2 голосов
/ 23 марта 2011

У меня есть коллекция объектов, которая имеет вложенную коллекцию объектов.Я хочу, чтобы вложенная коллекция в моей сетке данных отображалась внутри вложенной сетки данных по горизонтали, если это вообще возможно.Вот мои классы:

public class Details
{
    public string Customer {get;set;}
    public List<Type> Types { get; set;}
}
public class Type
{
    public string typeId{get;set;}
}

Конечно, они действительно ObservableCollections, и я реализую INotifyPropertyChange, но это всего лишь быстрый скелет моих классов, чтобы понять суть.

Было бы неплохо, если бы я мог отобразить это так:

  Details Customer      
                    Types[0] typeId    Types[1] typeId  ....    Types[n] typeId

Надеюсь, это имеет смысл.В основном для типа я хочу, чтобы идентификатор отображался горизонтально.Итак, как я могу получить только коллекцию Types для отображения в виде столбцов, а не строк?По сути, я хочу добавить еще одну коллекцию в Type и вложить в нее данные, но они не обязательно должны быть горизонтальными, только эта.Любая помощь будет принята с благодарностью.Заранее спасибо.

1 Ответ

0 голосов
/ 29 апреля 2011

RowDetailsTemplate может работать здесь:

<DataGrid>
    <DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <xzy />
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
</DataGrid>

<xyz /> будет той частью, где вы отображаете ваши типы горизонтально.В зависимости от ваших потребностей, вы можете создать UserControl (создать public IEnumerable<Type> Types { get; set; }, привязать к нему свой член Types и реализовать там логику отображения), StackPanel или простой TextBlock, где вы объединяете имена типов.

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