[英]TextAlignment in a Datagrid --> C# WPF
早上好,我有一個簡短的問題。
我在itemsource上綁定了一個數據網格,現在我嘗試格式化單元格的alginment屬性。
<DataGrid x:Name="dgrid"
Margin="10,13,386,0"
SelectionMode="Single"
SelectionUnit="FullRow"
IsReadOnly="True"
ItemsSource="{Binding Patient_view, Mode=TwoWay}"
SelectedItem="{Binding Patient_selected_item, Mode=TwoWay}"
AutoGenerateColumns="False"
CanUserAddRows="False"
TextBlock.TextAlignment="Center"
Height="645"
VerticalAlignment="Top"
HorizontalGridLinesBrush="#FFF5FAF7"
VerticalGridLinesBrush="#FFF5FAF7"
FontFamily="Arial">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight"
Value="Bold" />
<Setter Property="HorizontalAlignment"
Value="Stretch" />
<Setter Property="HorizontalContentAlignment"
Value="Center" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="Name"
Binding="{Binding Nachname}"
Width="*"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="Vorname"
Binding="{Binding Vorname}"
Width="*"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Right"
Header="Versichertennr."
Binding="{Binding Versichertennummer}"
Width="100"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="Status"
Binding="{Binding Versichertenstatus}"
Width="50"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="IK"
Binding="{Binding Kostentraegerlk}"
Width="50"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="Geburtsdatum"
Binding="{Binding Geburtsdatum, StringFormat=\{0:dd.MM.yyyy\}}"
Width="95"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Left"
Header="Strasse"
Binding="{Binding StrasseHausnummer}"
Width="300"
CanUserResize="False" />
<DataGridTextColumn TextBlock.TextAlignment="Right"
Header="PLZ"
Binding="{Binding Postleitzahl}"
Width="60"
CanUserResize="False" />
</DataGrid.Columns>
有人可以告訴我為什么TextBlock.Alignment不起作用嗎? 也許該怎么辦? 我看到了ax:Key模板的一些解決方案,但是我不能使用x:Key,因為:
The "Key" attribute can only be used on an element taht is contained in "IDictionary".
所以我不能使用它們:(
我對xaml有點困惑和陌生。
如果有人可以幫助我會很好:)謝謝
您可以在具有TextBlock的DataGridTextColumn上應用ElementStyle
並將其右對齊,它將起作用。
<DataGrid x:Name="dgrid" Margin="10,31,10,-233" IsReadOnly="True"
AutoGenerateColumns="False" CanUserAddRows="False" TextBlock.TextAlignment="Center" Height="627" VerticalAlignment="Top" HorizontalGridLinesBrush="#FFF5FAF7" VerticalGridLinesBrush="#FFF5FAF7" FontFamily="Arial" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight"
Value="Bold" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Nachname}" Width="*" CanUserResize="False" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn TextBlock.TextAlignment="Left" Header="Vorname" Binding="{Binding Vorname}" Width="*" CanUserResize="False" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.