2012-09-17 7 views
0

DataGrid Template 열의 유효성을 DataGrid의 datacontext 인 observable 컬렉션에 바인딩하는 방법을 알아 내려고하고 있습니다. 참고 : 나는이 물건을 초보자이기 때문에 아마 10 살짜리 애호가들처럼 설명해야 할 것입니다 ...템플릿 열과 기본 데이터의 바인딩 가시성

나는 이걸이 stackoverflow와 관련이 있다고 생각하지만 아직도 얻을 수없는 것 같습니다. 가야 겠어.

나는

내가이 의미 ... 감사를 많이 만드는 희망 ... 컨버터에 중단 점을 가지고 있지만 데이터가 관찰 컬렉션에 추가 될 때 그것은 명중 결코 극복

    <DataGrid AutoGenerateColumns="False" AlternatingRowBackground="LightBlue" ItemsSource="{Binding historyColl}" Margin="0,75,6,26" Name="historyDataGrid" FontSize="12" HorizontalAlignment="Right" Width="381"> 
        <DataGrid.Columns> 
         <DataGridTemplateColumn Header="Date (dd-mm)" Width="80*"> 
          <DataGridTemplateColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding Date}" Background="{Binding Converter={StaticResource TradedBackground}}"/> 
           </DataTemplate> 
          </DataGridTemplateColumn.CellTemplate> 
         </DataGridTemplateColumn> 

         <DataGridTemplateColumn Header="Test" Width="50" Visibility="{Binding RelativeSource={x:Static RelativeSource.Self}, 
           Path=FrameworkElement.DataContext, Converter={StaticResource booleanToVisiblityConverter}}"> 
          <DataGridTemplateColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding Test}"/> 
           </DataTemplate> 
          </DataGridTemplateColumn.CellTemplate> 
         </DataGridTemplateColumn> 

        </DataGrid.Columns> 
       </DataGrid> 
+1

자원에'booleanToVisiblityConverter'를 정의하는 것을 잊지 않았습니까? 또한'Visibility = "{Binding PathToVisibilityFlagInDataContext, Converter = {StaticResource booleanToVisiblityConverter}}"적절한 "PathToVisibilityFlagInDataContext"를 사용합니다. (당신도 이것을 잊어 버린 것 같다.) – Vlad

+0

나는 컨버터를 정의했으나 윈도우 리소스에서 그것을 수행했다. 그러나 C# 측에 어디에 넣을 까? PathToVisibilityFlagInDataContext – keynesiancross

+0

나는 기본적으로 변환기가 허용 할 것으로 기대하고 있었다. 나 ObservableCollection의 첫 번째 행에 액세스하려면 거기에서 가시성을 설정할 수 있습니다 .. – keynesiancross

답변

0

질문 아래 토론에 참여할 것이지만 그렇게 할만한 충분한 포인트가 없습니다. 나는 Path=FrameworkElement.DataContext이 문제라고 확신한다. 변환기는 부울을 예상하지만 대신 DataContext를 가져옵니다.

변환기를 사용하여 가시성을 바인딩 할 수있는 DataContext 자체 내에 bool 유형의 속성이 있어야합니다.

창 리소스에서 변환기를 정의하는 것이 좋습니다.

관련 문제