當前位置:編程學習大全網 - 源碼下載 - WPF的DataGrid 怎樣才能即刻獲取列寬改變後的寬度

WPF的DataGrid 怎樣才能即刻獲取列寬改變後的寬度

//方法有多種,第壹種為列寬添加值改變監控

DependencyPropertyDescriptor?descriptor?=?DependencyPropertyDescriptor.FromProperty(DataGridColumn.WidthProperty,?typeof(DataGridColumn));

descriptor.AddValueChanged(dataGridDemo.Columns[0],ColumnWidth_Changed);

private?void?ColumnWidth_Changed(object?sender,?EventArgs?e)

{

//值改變後觸發

Console.WriteLine(((DataGridColumn)sender).Width);

}

//妳可以使用綁定,下面的例子就是,當拉動第壹列的寬度的時候,動態顯示在文本上

<DataGrid?x:Name="dataGridDemo"?Grid.Row="1"?MaxHeight="600"?MaxWidth="800"?CanUserAddRows="False"?AutoGenerateColumns="False"?RowHeaderWidth="0"?>

<DataGrid.Columns>

<DataGridTextColumn?Binding="{Binding?Name}"?Header="姓名"?Width="200"></DataGridTextColumn>

<DataGridTextColumn?Binding="{Binding?Name}"?Header="姓名"?Width="200"></DataGridTextColumn>

<DataGridTextColumn?Binding="{Binding?Name}"?Header="姓名"?Width="200"></DataGridTextColumn>

<DataGridTextColumn?Binding="{Binding?Age}"?Header="年齡"?Width="200"></DataGridTextColumn>

<DataGridTextColumn?Binding="{Binding?Age}"?Header="年齡"?Width="200"></DataGridTextColumn>

</DataGrid.Columns>

</DataGrid>

<TextBlock?Grid.Row="0"?Text="{Binding?ElementName=dataGridDemo,Path=Columns[0].Width}"></TextBlock>

//如果妳想要值改變,但未還尚未生效,妳就要重寫元數據了

  • 上一篇:通達OA怎麽樣?
  • 下一篇:"棧"和"棧幀"這兩個概念到底如何區分
  • copyright 2024編程學習大全網