DataGrid模板中控件的宽度怎么与列的宽度绑定
DataGrid模板中控件的宽度怎样与列的宽度绑定
如上前台xaml代码,我想让TextBlock的Width与它所在列的实际显示宽度ActualWidth绑定,如何写绑定代码,只在前台写!
------解决方案--------------------
------解决方案--------------------
支持1楼,单纯的设置TextBlock的HorizontalAlignment是不行的
<DataGrid Grid.Row="1" x:Name="dg_TimeTable" ColumnHeaderStyle="{DynamicResource DataGridColumnHeaderStyle}"
Style="{DynamicResource DataGridStyle}" RowStyle="{DynamicResource DataGridRowStyle}" CellStyle="{DynamicResource DataGridCellStyle}" AlternationCount="2" Margin="5" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTemplateColumn Header="名 称" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<TextBlock Text="{Binding Name}" Tag="{Binding IsEdit}" TextAlignment="Center" Width="{Binding}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="GlobalID" Binding="{Binding GlobalID}" Visibility="Hidden"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
如上前台xaml代码,我想让TextBlock的Width与它所在列的实际显示宽度ActualWidth绑定,如何写绑定代码,只在前台写!
------解决方案--------------------
<DataGridTemplateColumn Header="名 称" Width="*" x:Name="dataGridTemplateColumn1">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<TextBlock Text="{Binding Name}" Tag="{Binding IsEdit}" TextAlignment="Center" Width="{Binding ActualWidth, ElementName=dataGridTemplateColumn1, Mode=OneWay}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
------解决方案--------------------
支持1楼,单纯的设置TextBlock的HorizontalAlignment是不行的