簡體   English   中英

如何設置DataGridTextColumn和其中的文本的邊距?

[英]How to set margin for DataGridTextColumn and text inside it?

我創建一個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>

但是,我不明白,如何將邊距設置為列文本(從左側)。 我的意思是,該文本緊緊放在桌子上(左側)。 我可以為文字設置邊距嗎?

您可以使用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>

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM