ContentPresent(Datagrid)中的文本对齐 [英] Text alignment within a ContentPresent (Datagrid)

查看:72
本文介绍了ContentPresent(Datagrid)中的文本对齐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我是Blend的初学者,我需要帮助来格式化将数据绑定到数据网格时创建的文本块。


实际上,单元格中的ContentPresenter设置为"拉伸"。 (这很好)但内部的内容在左上方对齐。


我想插入代码来格式化创建的texblock,将其放在ContentPresenter内的右/中心。


我知道DataTemplate有一些东西,但我没有得到它。


以下代码:

  < Window.Resources> 

&NBSP; &NBSP; &NBSP; &NBSP; < Style x:Key =" DataGridCellStyle1" TargetType =" {x:Type DataGridCell}">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Background"值= QUOT;透明" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" BorderBrush"值= QUOT;透明" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" BorderThickness"值= QUOT 1 QUOT; />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Template">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < ControlTemplate TargetType =" {x:Type DataGridCell}">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Border BorderBrush =" {TemplateBinding BorderBrush}" BorderThickness =" {TemplateBinding BorderThickness}" Background =" {TemplateBinding Background}" SnapsToDevicePixels = QUOT;真">
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < ContentPresenter SnapsToDevicePixels =" {TemplateBinding SnapsToDevicePixels}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /边框>

&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /&的ControlTemplate GT;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /设置器>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Style.Triggers>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Trigger Property =" IsSelected"值= QUOT;真">
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Background" Value =" {DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Foreground" Value =" {DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" BorderBrush" Value =" {DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /触发>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Trigger Property =" IsKeyboardFocusWithin"值= QUOT;真">
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" BorderBrush" Value =" {DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /触发>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < MultiTrigger>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < MultiTrigger.Conditions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Condition Property =" IsSelected"值= QUOT;真" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Condition Property =" Selector.IsSelectionActive"值= QUOT假QUOT; />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /MultiTrigger.Conditions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Background" Value =" {DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" BorderBrush" Value =" {DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Foreground" Value =" {DynamicResource {x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < / MultiTrigger>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Trigger Property =" IsEnabled"值= QUOT假QUOT;>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Foreground" Value =" {DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /触发>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /Style.Triggers>
&NBSP; &NBSP; &NBSP; &NBSP; < /样式和GT;
&NBSP; &NBSP; &NBSP; &NBSP; < Style x:Key =" DataGridRowStyle1" TargetType =" {x:Type DataGridRow}">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Background" Value =" {DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" SnapsToDevicePixels"值= QUOT;真" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Validation.ErrorTemplate"值= QUOT; {X:空}" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" ValidationErrorTemplate">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; <&的ControlTemplate GT;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < TextBlock Foreground =" Red"余量= QUOT; 2,0,0,0"文本="!" VerticalAlignment = QUOT;中心" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /&的ControlTemplate GT;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /设置器>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Template">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < ControlTemplate TargetType =" {x:Type DataGridRow}">
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Border x:Name =" DGR_Border" BorderBrush =" {TemplateBinding BorderBrush}" BorderThickness =" {TemplateBinding BorderThickness}" Background =" {TemplateBinding Background}" SnapsToDevicePixels = QUOT;真">
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < SelectiveScrollingGrid>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < SelectiveScrollingGrid.ColumnDefinitions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < ColumnDefinition Width =" Auto" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < ColumnDefinition Width =" *" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /SelectiveScrollingGrid.ColumnDefinitions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < SelectiveScrollingGrid.RowDefinitions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < RowDefinition Height =" *" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < RowDefinition Height =" Auto" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /SelectiveScrollingGrid.RowDefinitions>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridCellsPresenter Grid.Column =" 1" ItemsPanel =" {TemplateBinding ItemsPanel}" SnapsToDevicePixels =" {TemplateBinding SnapsToDevicePixels}" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridDetailsPresenter Grid.Column =" 1" Grid.Row = QUOT 1 QUOT; SelectiveScrollingGrid.SelectiveScrollingOrientation =" {Binding AreRowDetailsFrozen,ConverterParameter = {x:Static SelectiveScrollingOrientation.Vertical},Converter = {x:Static DataGrid.RowDetailsS​​crollingConverter},RelativeSource = {RelativeSource AncestorType = {x:Type DataGrid}}}"可见性=" {TemplateBinding DetailsVisibility}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridRowHeader Grid.RowSpan =" 2" SelectiveScrollingGrid.SelectiveScrollingOrientation = QUOT;垂直" Visibility =" {Binding HeadersVisibility,ConverterParameter = {x:Static DataGridHeadersVisibility.Row},Converter = {x:Static DataGrid.HeadersVisibilityConverter},RelativeSource = {RelativeSource AncestorType = {x:Type DataGrid}}}" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < / SelectiveScrollingGrid>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /边框>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /&的ControlTemplate GT;
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /Setter.Value>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /设置器>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Style.Triggers>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Trigger Property =" IsNewItem"值= QUOT;真">
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < Setter Property =" Margin" Value =" {Binding NewItemMargin,RelativeSource = {RelativeSource AncestorType = {x:Type DataGrid}}}" />
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /触发>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < /Style.Triggers>
&NBSP; &NBSP; &NBSP; &NBSP; < /样式和GT;

&NBSP; &NBSP; < /Window.Resources>
&NBSP; &NBSP; < DataGrid Horizo​​ntalAlignment =" Left"高度= QUOT; 363"余量= QUOT; 86,98,0,0" VerticalAlignment = QUOT;陀螺"宽度= QUOT; 755"的AutoGenerateColumns = QUOT假QUOT; DataContext =" {Binding Source = {StaticResource SampleDataSource1}}" ItemsSource =" {Binding Collection}" CellStyle =" {DynamicResource DataGridCellStyle1}" RowStyle =" {DynamicResource DataGridRowStyle1}"   &NBSP; &NBSP; &NBSP; < DataGrid.Columns>
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Couple_tr_min}"头= QUOT; Couple_tr_min" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {BindingDébit}"头= QUOT;借记" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Profondeur}"头= QUOT; Profondeur" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Property4}"头= QUOT; Property4" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Property5}"头= QUOT; Property5" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Property6}"头= QUOT; Property6" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Property7}"头= QUOT; Property7" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Temps}"头= QUOT;滕普斯" />
&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < DataGridTextColumn Binding =" {Binding Vitesse_de_rotation}"头= QUOT; Vitesse_de_rotation" />
&NBSP; &NBSP; &NBSP; &NBSP; < /DataGrid.Columns>
&NBSP; &NBSP; < / DataGrid>


  


我希望你能帮助我并抱歉我的英语;)


解决方案

如果你把它放在datagrid.resources中,这个样式将数据网格中所有单元格中的所有内容集中在一起。

< Style TargetType =" DataGridCell"> 
< Setter Property =" Template">
< Setter.Value>
< ControlTemplate TargetType =" {x:Type DataGridCell}">
<网格背景=" {TemplateBinding Background}">
< ContentPresenter Horizo​​ntalAlignment =" Center"
VerticalAlignment =" Center" />
< / Grid>
< / ControlTemplate>
< /Setter.Value>
< / Setter>
< / Style>

如果您还没有,请下载并安装snoop。


运行您的应用。


运行窥探。


将一个步枪范围拖到您的应用上。


将鼠标悬停在数据网格单元格上并按shift + ctrl


看看你实际得到的是什么。


Snoop仍然比内置于vs2017中的内容。


您可以尝试在snoop中更改属性值并查看实时内容。


您可以看到哪些事件正在触发


Hi,

I'm a beginner on Blend and I need help to format the textblock created when I bind datas to my datagrid.

Indeed, the ContentPresenter in the cells is set on "stretch" (which is fine) but the content inside is aligned on top left.

Il would like to insert code to format the created texblock to put it on right/center inside the ContentPresenter.

I know there is something about DataTemplate but I didn't get it.

Code below :

     <Window.Resources>

        <Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderBrush" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type DataGridCell}">
                        <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                            <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                        </Border>

                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
                </Trigger>
                <Trigger Property="IsKeyboardFocusWithin" Value="True">
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}"/>
                </Trigger>
                <MultiTrigger>
                    <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true"/>
                        <Condition Property="Selector.IsSelectionActive" Value="false"/>
                    </MultiTrigger.Conditions>
                    <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
                    <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}}"/>
                </MultiTrigger>
                <Trigger Property="IsEnabled" Value="false">
                    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                </Trigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="DataGridRowStyle1" TargetType="{x:Type DataGridRow}">
            <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
            <Setter Property="SnapsToDevicePixels" Value="true"/>
            <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
            <Setter Property="ValidationErrorTemplate">
                <Setter.Value>
                    <ControlTemplate>
                        <TextBlock Foreground="Red" Margin="2,0,0,0" Text="!" VerticalAlignment="Center"/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type DataGridRow}">
                        <Border x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
                            <SelectiveScrollingGrid>
                                <SelectiveScrollingGrid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto"/>
                                    <ColumnDefinition Width="*"/>
                                </SelectiveScrollingGrid.ColumnDefinitions>
                                <SelectiveScrollingGrid.RowDefinitions>
                                    <RowDefinition Height="*"/>
                                    <RowDefinition Height="Auto"/>
                                </SelectiveScrollingGrid.RowDefinitions>
                                <DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                                <DataGridDetailsPresenter Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}"/>
                                <DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                            </SelectiveScrollingGrid>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsNewItem" Value="True">
                    <Setter Property="Margin" Value="{Binding NewItemMargin, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>
    <DataGrid HorizontalAlignment="Left" Height="363" Margin="86,98,0,0" VerticalAlignment="Top" Width="755" AutoGenerateColumns="False" DataContext="{Binding Source={StaticResource SampleDataSource1}}" ItemsSource="{Binding Collection}" CellStyle="{DynamicResource DataGridCellStyle1}" RowStyle="{DynamicResource DataGridRowStyle1}">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Couple_tr_min}" Header="Couple_tr_min"/>
            <DataGridTextColumn Binding="{Binding Débit}" Header="Débit"/>
            <DataGridTextColumn Binding="{Binding Profondeur}" Header="Profondeur"/>
            <DataGridTextColumn Binding="{Binding Property4}" Header="Property4"/>
            <DataGridTextColumn Binding="{Binding Property5}" Header="Property5"/>
            <DataGridTextColumn Binding="{Binding Property6}" Header="Property6"/>
            <DataGridTextColumn Binding="{Binding Property7}" Header="Property7"/>
            <DataGridTextColumn Binding="{Binding Temps}" Header="Temps"/>
            <DataGridTextColumn Binding="{Binding Vitesse_de_rotation}" Header="Vitesse_de_rotation"/>
        </DataGrid.Columns>
    </DataGrid>

  

I hope you will be able to help me and sorry about my english ;)


解决方案

This style centers everything in all cells in a datagrid if you put it in the datagrid.resources.

 <Style TargetType="DataGridCell">
      <Setter Property="Template">
           <Setter.Value>
                  <ControlTemplate TargetType="{x:Type DataGridCell}">
                       <Grid Background="{TemplateBinding Background}">
                             <ContentPresenter HorizontalAlignment="Center" 
                                            VerticalAlignment="Center"/>
                       </Grid>
                  </ControlTemplate>
           </Setter.Value>
      </Setter>
   </Style>

If you haven't already, download and install snoop.

Run your app.

Run snoop.

Drag one of the rifle scopes over your app.

Mouse over a datagrid cell and press shift+ctrl

Take a look at what you're actually getting.

Snoop is still way better than the stuff built into vs2017.

You can experiment with changing property values in snoop and see what happens live.

And you can see what events are firing.


这篇关于ContentPresent(Datagrid)中的文本对齐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆