2012-08-14 2 views
1

DataGrid 헤더의 XAML 너비를 *으로 설정하는 방법은 무엇입니까? 이 코드는 작동하지 않습니다DataGrid 열 너비를 스타 스타일로 설정하십시오.

<DataGrid> 
    <DataGrid.Resources> 
     <Style x:Key="CbClmn" TargetType="DataGridColumnHeader"> 
      <Setter Property="Width" Value="30" /> 
     </Style> 
     <Style x:Key="TxtClmn" TargetType="DataGridColumnHeader"> 
      <Setter Property="Width" Value="*" /> 
     </Style> 
    </DataGrid.Resources> 
    <DataGrid.Columns> 
     <DataGridCheckBoxColumn HeaderStyle="{StaticResource CbClmn}" /> 
     <DataGridTextColumn Header="Title" HeaderStyle="{StaticResource TxtClmn}" /> 
     <DataGridCheckBoxColumn Header="Selected" HeaderStyle="{StaticResource CbClmn}" /> 
    </DataGrid.Columns> 
</DataGrid> 

스타일 TxtClmn 예외 '*' string cannot be converted to Length를 생성합니다. 개체 브라우저에서

답변

1

봐 : u는 그렇게 할 수없는 이유

//DataGridColumn 
public System.Windows.Controls.DataGridLength Width { set; get; } 

//DataGridColumnHeader 
public double Width { set; get; } 

. 더블 타입입니다.

+0

하지만 요소 속성에서 너비를 별표로 설정할 수있는 이유는 무엇입니까? 예 : Boo

+0

@Boo이 경우 너비를 열 (** DataGridColumn ** 유형)로 설정하지만 헤더 (** DataGridColumnHeader ** 유형). – Artiom

+0

@Artion, 설명 주셔서 감사하지만 여전히 내 문제가 해결되지 - 열에 대한 너비를 설정할 수 없습니다.