silverlight 4: объединение ячеек в сетке данных - PullRequest
0 голосов
/ 06 сентября 2011

Я использую DataGrid от Silverlight.Теперь мое требование - объединить ячейку в некоторой строке в сетке данных.Есть ли способ объединить ячейки в Datagrid с помощью silverlight.

1 Ответ

0 голосов
/ 07 сентября 2011

Если это просто отображение значений из нескольких столбцов в одном столбце, лучше всего сделать это с помощью DataGridTemplateColumn:

<sdk:DataGridTemplateColumn Header="Merged Cols">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Column1}" />
                <TextBlock Text="{Binding Column2}" />
            </StackPanel>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>

Вы также можете сделать это через конвертер, если хотите использовать DataGridTextColumn. Поскольку конвертер Silverlight поддерживает только одно значение, вам необходимо отправить всю строку.

Определение столбца DataGrid будет содержать

<sdk:DataGridTextColumn Binding={Binding Converter={StaticResource MergedCols}} />

Вам необходимо добавить конвертер MergedCols в свое решение и в свою коллекцию ресурсов.

<UserControl.Resources>
    <myConverters:MergedColsConverter x:Key="MergedCols" />
...