Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MinWidth for ListView Column

Tags:

wpf

xaml

How can I specify MinWidth for a Listview column in WPF?


1 Answers

This code uses the Thumb control. It will prevent the user to drag the header only in a specified width.

Add this in your WPF

<ListView x:Name="MyListView"
          IsSynchronizedWithCurrentItem="True" 
          ItemsSource="{Binding Path=Items,  
                                Mode=Default, 
                                Source={StaticResource DataProvider}}"
          Thumb.DragDelta="Thumb_DragDelta">

And in C# do as

public Window1() 
{  
  InitializeComponent();  
  MyListView.AddHandler(Thumb.DragDeltaEvent,new DragDeltaEventHandler(Thumb_DragDelta),true);
}
void Thumb_DragDelta(object sender, DragDeltaEventArgs e)
{ 
  Thumb senderAsThumb = e.OriginalSource as Thumb;  
  GridViewColumnHeader header = senderAsThumb.TemplatedParent as GridViewColumnHeader; 
  if (header.Column.ActualWidth < MIN_WIDTH)     
    header.Column.Width = MIN_WIDTH;   
  if (header.Column.ActualWidth > MAX_WIDTH)
    header.Column.Width = MAX_WIDTH;
}
like image 88
Sauron Avatar answered Feb 09 '26 11:02

Sauron



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!