带有xceed Datagrid模板的DataGrid模板示例

时间:2016-03-23 12:37:39

标签: c# wpf datagrid xceed

我是xceed数据网格的新手,我试图克隆我的普通数据网格的代码,但它不能用于xceed数据网格。
这是我的例子:

<DataGrid Itemsource="{Binding Path=list}" AutoGenerateColumns="False">
  <DataGrid.Columns>
    <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
  </DataGrid.Columns>
</DataGrid>

那么,这如何与xceed datagrid一起使用?
问候

2 个答案:

答案 0 :(得分:2)

对于Xceed DataGridControl,ItemsSource是一个DataGridCollectionView。

这是一个简单的例子:

<Window.Resources>
    <xcdg:DataGridCollectionViewSource x:Key="mySource" Source="{Binding Path=list}" />
</Window.Resources>

<Grid>
    <xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource mySource}}" AutoCreateColumns="False">
        <xcdg:DataGridControl.Columns>
            <xcdg:Column FieldName="FirstName" Title="First Name" />
            <xcdg:Column FieldName="LastName" Title="Last Name" />
        </xcdg:DataGridControl.Columns>
    </xcdg:DataGridControl>
</Grid>

答案 1 :(得分:0)

首先添加名称空间

xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"

要使用DatagridControl,您应该尝试这样-

 <xcdg:DataGridControl ItemsSource="{Binding PersonList}" 
                          Margin="0,0,0,100"
                          ReadOnly="{Binding IsGridReadOnly}"
                          >

        <xcdg:DataGridControl.Columns >

            <xcdg:UnboundColumn FieldName="Id"  Visible="False"  />          

            <xcdg:Column FieldName="FirstName"
                            Width="*"
                            Visible="True"   />

            <xcdg:Column FieldName="LastName" 
                         Width="*"
                         Visible="True" />


        </xcdg:DataGridControl.Columns>

    </xcdg:DataGridControl>

在ViewModel中,我在这里

 private ObservableCollection<Person>  _PersonList ;

    public ObservableCollection<Person> PersonList
    {
        get { return _PersonList; }
        set { _PersonList = value; }
    }

在构造函数中,我正在调用LoadData方法来填充“人员列表”。在Person类中,我有3个字段-ID,FirstName和LastName。

在数据网格中,您可以看到有两种类型的列-列和unboundcolumn