wpf - 自定义UserControl未显示在DataGrid中

时间:2017-02-28 01:26:52

标签: c# wpf xaml datagrid user-controls

我正在尝试创建一个在一行中显示自定义用户控件的数据网格。 datagrid实际上只有一列,当添加新行时,该usercontrol的新实例应该显示在新行中。我还没有实现添加按钮,所以我暂时将其设置为已经创建的自定义用户控件。然而,没有任何事情发生;唯一显示的是列标题。

这是我的XAML:

<Grid>
    <DataGrid ColumnWidth="*" AutoGenerateColumns="False" x:Name="dgLOA">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="Pay Advice">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <local:About/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
</Grid>

1 个答案:

答案 0 :(得分:0)

您必须将ItemSource设置为DataGrid,以便根据itemsource的数量显示自定义控件,

 <Grid>
        <DataGrid ColumnWidth="*" AutoGenerateColumns="False" x:Name="dgLOA">
            <DataGrid.Columns>
                <DataGridTemplateColumn Header="Pay Advice">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <local:MyControl/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>

你必须在codebehind或xaml文件中设置ItemSOurce,如下所示,

dgLOA.ItemsSource = GetEmployees(); 

在Xaml

ItemsSource =&#34; {Binding Employes}&#34;

enter image description here