2010-04-22 7 views
3

모든 열에서 액세스하는 DataGrid에서 행 당 StaticResource를 xamly로 설정하는 방법이 있습니까?WPF DataGrid : 행 당 리소스?


UPDATE
내 목표는 마지막 하나는 실제로 행 항목에 바인딩되는 동안, 3 콤보 열을하는 것입니다.
예를 들어, DataGrid는 Items 목록을 나타냅니다. Category-> Vendor-> Style-> Finish ComboBoxes가 있지만, 이들은 탐색 지원을 위해서만 사용됩니다. 사실 Item 클래스는 'Finish'관계 만 있습니다. 그래서 행마다 StaticResource가있을 수 있다면 ItemsSource를 설정할 수 있습니다. & IsSynchronizedWithCurrentItem ComboBox 소품이 자동으로 작동합니다.

고마워요.

답변

0

내가 뭘했는지 (적절한 방법인지 여부에 대한 보장 없음) 문제를 해결하고, UserControl에서 선언 된 리소스를 갖는 DataTemplate 컨텐트로 UserControl을 사용하고 있는데 매번 초기화됩니다.

내가 시도한 또 다른 한 가지는 x:Shared이라는 속성을 false으로 설정하는 것으로,이 문제에 도움이된다고 생각됩니다.

0

달성하려는 목표에 대해 좀 더 자세히 설명해 주실 수 있습니까?

컬렉션 (ObjectDataProvider 형식 참조)을 나타내는 staticResource를 하나씩 가지고 XAML에서 DataGrid의 ItemSource 속성을 바인딩하는 것이 더 간단하다고 생각합니다.

+0

각 행을 맞춤 데이터 소스로 처리하고 싶습니다. 내가 한 일을 살펴보세요. 조쉬의 응답입니다. – Shimmy

+0

그러나 행마다 리소스를 가질 수 있다면 열 사이에 분리 된 콤보 박스가 있기 때문에 각 행에 대한 리소스를 갖는 것이 좋습니다. 앞으로 기다리는 중입니다. – Shimmy

+0

@Shimmy : 여기에 잘못된 컨트롤을 사용하고있는 것 같습니다. 하나의 선택이 다음 콤보 박스의 옵션을 순차적으로 필터링하는 일련의 콤보 박스를 찾고 계십니까? – Gishu

1

기술적으로 볼 때 행이 시각적 트리에 있기 때문에 가능합니다. 그러나 달성하려는 것은 무엇입니까? 아마 더 좋은 방법이있을 것입니다.

+0

2 개의 계단식 콤보 상자를 원했습니다. 둘 다 DataTemplate.Resources의 CollectionViewSource를 설정하는 1 DataGridTemplateColumn에 둘 다 넣었습니다. – Shimmy

+0

하지만 행마다 리소스를 가질 수 있다면 열 사이에 분리 된 수있는 모든 계단식 콤보 상자가 있기 때문에 여전히 각 행에 대한 리소스가 좋은 생각이 될 것입니다. 앞으로 기다리는 중입니다. – Shimmy

0

당신은 확실히이 같은 데이터 그리드 수준에서 설정할 수 있습니다

xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 

<data:DataGrid x:Name="..." ItemsSource="{Binding ...}" > 
    <data:DataGrid.Resources> 
    </data:DataGrid.Resources> 
</data:DataGrid> 

난 당신이 행 템플릿을 정의 할 경우 행 수준에서 설정할 수 있습니다 가정까요?

+0

아니요, 컨트롤 컨테이너 당이 아니라 행마다 설정되기를 원합니다. 내 목표는 사용자가이 행에 대해 선택한 값에 따라 행 내에 CollectionViewSource를 설정하는 것입니다. – Shimmy