我创建了一个DataGrid:
<DataGrid x:Name="dataGrid"
AutoGenerateColumns="False"
Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"
IsEnabled="True"
IsReadOnly="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
Loaded="dgAttfs_Loaded"
RowEditEnding="dataGrid_RowEditEnding"
ItemsSource="{Binding ViewModel.RowColl,Mode=TwoWay,UpdateSourceTrigger=LostFocus}"
>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" MinWidth="120" Width="Auto
Header="Name"
/>
<DataGridComboBoxColumn x:Name="typeColumn" MinWidth="220"
SelectedItemBinding="{Binding Path=Type}"
Header="Type"
>
<DataGridComboBoxColumn.ItemsSource>
<col:ArrayList>
<sys:String>1</sys:String>
<sys:String>2</sys:String>
<sys:String>3</sys:String>
<sys:String>4</sys:String>
<sys:String>5</sys:String>
<sys:String>6</sys:String>
<sys:String>7</sys:String>
<sys:String>8</sys:String>
</col:ArrayList>
</DataGridComboBoxColumn.ItemsSource>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
但是,我无法理解,如何将边距设置为列文本(从左侧)。 我的意思是,那个文字紧紧地摆在桌子上(左侧)。 我可以设置保证金到文本吗?
答案 0 :(得分:2)
您可以使用 DataGridTemplateColumn 创建自定义模板,并在其DataTemplate中添加具有所需边距的文本块。
<DataGrid Name="dgUsers" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTemplateColumn Header="Birthday">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Textblock Text="{Binding Name}" BorderThickness="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>