1
我有一个控制(这里:DataGridSelectorControl)一个DataGrid,我想创建它使用coulmns ItemTemplate.actually我想要做这样的事情是:如何使用ItemsControl分配<DataGrid.Columns>?
<DataGrid x:Name="grd" ItemsSource="{Binding Source={StaticResource theSource}}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<ItemsControl ItemsSource="{Binding DataGridColumnItems}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DataGrid.Columns>
</DataGrid>
我想知道有没有办法使用DataGrid.Columns的ItemsControl? ,我想这样做,因为我想用这种控制是这样的:(我要定义每当创建此控件的实例DataGridTextColumns)
<control:DataGridSelectorControl Grid.Row="1">
<control:DataGridSelectorControl.DataGridColumnItems>
<DataGridTextColumn Header="نام" Width="20"></DataGridTextColumn>
<DataGridTextColumn Header="ParentID" Width="20"></DataGridTextColumn>
</control:DataGridSelectorControl.DataGridColumnItems>
</control:DataGridSelectorControl>
和DataGridColumnItems是atachepropery:
public static readonly DependencyProperty DataGridTextColumnItemsProperty = DependencyProperty.Register("DataTextColumnItems", typeof(DataGridColumn), typeof(DataGridSelectorControl));
public DataGridColumn DataGridColumnItems
{
get
{
return (DataGridColumn)GetValue(DataGridTextColumnItemsProperty);
}
set
{
SetValue(DataGridTextColumnItemsProperty, value);
}
}