Пользовательский контроль внутри таблицы данных - PullRequest
2 голосов
/ 25 ноября 2011

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

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

Есть ли способ, как этого добиться?

Я работаю с C # и WPF и разрабатываю настольное приложение.

Я бы хотел использовать его как:

    <DataGrid.RowDetailsTemplate>
        <DataTemplate>
        //    <StackPanel Orientation="Horizontal" Margin="20,0,0,0">
        //        <TextBlock Text="Category:" FontWeight="Bold"/>
        //        <ComboBox IsEditable="True" 
        //                  ItemsSource="{Binding Source={x:Static Data:CheckBook.Categories}}" 
        //                 Text="{Binding Category}" />
        //     </StackPanel>
        <MyControl ItemsSource="blabla">
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>  

Ответы [ 2 ]

0 голосов
/ 26 ноября 2011

Самый простой способ достичь этого - использовать следующее:

Обратите внимание: если все, что вам нужно, это один столбец с вашим пользовательским / пользовательским элементом управления, возможно, имеет смысл использовать что-то большее. как ListBox с настроенным ItemTemplate, так как он намного легче.

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <DataGrid>
            <DataGrid.Columns>
                <DataGridTemplateColumn>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            **...your user control goes here**
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>
0 голосов
/ 25 ноября 2011

Похоже, вы описываете иерархическую структуру данных. (Данные с родителями / дочерними или основными / подробными отношениями)

Microsoft предлагает руководство по отображению иерархических данных в WPF в их Обзор шаблонов данных В частности, здесь рассматривается .

...