WPF:GridViewColumnresize事件
我正在使用ListView
和GridView
。 是否有GridViewColumn
resize事件?
看看MSDN DridViewColumn的详细信息 。 它不会有这样的事件,可能需要一些解决方法,但我不确定。 看看这里
希望能帮助到你。
我将处理PropertyChanged
事件。 在Visual Studio intellisense中看不到PropertyChanged
事件,但你可以欺骗它:)
GridViewColumn column = ... ((System.ComponentModel.INotifyPropertyChanged)column).PropertyChanged += (sender, e) => { if (e.PropertyName == "ActualWidth") { //do something here... } };
虽然GridViewColumn
似乎没有Resize
事件,但您可以绑定到ColumnWidth
属性。
您可以使用下面的示例XAMLvalidation这一点 – 此示例不需要任何代码。 它仅在一个方向上绑定,从列宽到文本框,当您resize时,您将看到文本框立即更新为列宽。
(这只是一个简单的例子;如果你想在代码中选择resize,我会创建一个具有Width
属性的类,因此绑定将在两个方向上起作用)。
Item 1 Item 2
private void ListView_Loaded( object sender, RoutedEventArgs e ) { // Add the handler to know when resizing a column is done ((ListView)sender).AddHandler( Thumb.DragCompletedEvent, new DragCompletedEventHandler( ListViewHeader_DragCompleted ), true ); } private void ListViewHeader_DragCompleted( object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e ) { ListView lv = sender as ListView; ... code handing the resize goes here ... }
XAML: