2013-03-22 14 views
6

Bir DataGridView'a her bir sütunu toplam kılavuzun yüzde bir genişliğine vermenin bir yolu var mı? Şu anda sabit genişlikler kullanıyorum ancak bir sütunu% 15 genişlikte, diğeri% 25 genişliğinde ve benzer şekilde, tablonun% 100'ünün Izgara ile doldurulup yeniden boyutlandırılmasını sağlamak istiyorum.DataGridView Sütun Genişlikleri Yüzde olarak

cevap

1

Değer dönüştürücü
kullanabilir. Bu bir parametre çıkarır ancak bir parametreyle bölebilirsiniz.

<local:WidthConverter x:Key="widthConverter"/> 

<GridViewColumn Width="{Binding ElementName=lvCurDocFields, Path=ActualWidth, Converter={StaticResource widthConverter}, ConverterParameter=100}"> 



[ValueConversion(typeof(double), typeof(double))] 
    public class WidthConverter : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      // value is the total width available 
      double otherWidth; 
      try 
      { 
       otherWidth = System.Convert.ToDouble(parameter); 
      } 
      catch 
      { 
       otherWidth = 100; 
      } 
      if (otherWidth < 0) otherWidth = 0; 

      double width = (double)value - otherWidth; 
      if (width < 0) width = 0; 
      return width; // columnsCount; 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 
    } 
+1

Örnek kod için teşekkür ederiz. Diğer cevapların daha kolay uygulanmasına rağmen, bunun bir kişi tarafından kullanılacağına eminim. Yardımın için minnettarım! –

-3

sadece cilt dosyası oluşturun. ve web yapılandırması aracılığıyla uygulayın

+0

Bunun geçerli bir yanıtı olması için lütfen cevabınızı haklı çıkaracak daha fazla bağlam, örnek, bağlantı veya bir şey verin. – ethrbunny