2012-03-08 2 views
4

RowStyleSelector를 WPF DataGrid와 함께 사용하는 데 문제가 있습니다. 내 자원에서RowStyleSelector가 호출되지 않았습니다.

, 내가

<loc:DetailsRowStyleSelector x:Key="detailsRowStyleSelector" AddRowStyle="{StaticResource newItemRowStyle}" StandardRowStyle="{StaticResource RowStyle}"/> 

이 그럼 내 데이터 그리드는과 같이이 사용

선택기의 생성자가 호출되지만 SelectStyle 방법은 내 행하지, 그리고
<DataGrid ... 
    EnableRowVirtualization="false"  
    VirtualizingStackPanel.VirtualizationMode="Standard" 
    RowStyleSelector="{StaticResource detailsRowStyleSelector}" 

모두 똑같이 보인다. 이이 매우 작은 문서 것 같다,하지만 내 선택이 모습입니다 :

public class DetailsRowStyleSelector : StyleSelector { 
    public Style AddRowStyle { get; set; } 
    public Style StandardRowStyle { get; set; } 

    public DetailsRowStyleSelector() { 
     Console.WriteLine(""); // this is called 
    } 

    public override Style SelectStyle(object item, DependencyObject container) { 
     // this is not called 
+0

System.Windows.Data 오류가 있습니까? – arolson101

+0

결국 코드를 ​​통해이 작업을 수행했으나 아니요 바인딩 오류가 없었습니다. – Echilon

+0

나는 똑같은 문제가있다. 혹시 해결책을 찾았습니까? – Cerebrate

답변

4

가장 큰 원인은 당신이 로컬 또는 상속을 통해, 어느 DataGridRowStyle 또는 ItemContainerStyle 세트를 가지고 있다는 것입니다 스타일. ItemContainerStyle property가 설정되어있는 경우이 속성이 무시됩니다

참고 : RowStyleSelector

은 설명서의 다음 문을 포함 ItemContainerStyleSelector을 재정의합니다.

+0

네, 그게 정확히 그랬습니다. 많이 고마워! – Cerebrate

관련 문제