2013-03-22 2 views
6

DataGridView의 각 열에 전체 눈금의 백분율 너비를 지정하는 방법이 있습니까? 현재 고정 너비를 사용하고 있지만 한 열에 15 % 너비, 다른 너비에는 25 % 너비 등을 지정하여 테이블의 100 %를 채우고 Grid로 크기를 조정합니다.DataGridView 열 너비를 백분율로

답변

1

값 변환기를 사용할 수 있습니다.
이 매개 변수를 빼지 만 매개 변수로 나눌 수 있습니다.

<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

예제 코드를 제공해 주셔서 감사합니다. 다른 답변이 훨씬 쉽게 구현되었음을 알았지 만, 누군가에 의해 사용될 것이라고 확신합니다. 그래도 도움을 주셔서 감사합니다! –

-3

그냥 스킨 파일을 만듭니다. 및 웹 설정을 통해 적용하십시오.

+0

유효한 응답이 되려면 더 많은 컨텍스트, 예제, 링크 또는 답변을 정당화할만한 것을 제공하십시오. – ethrbunny