DataGridColumn - 유틸리티에서 자신의 사용자 지정 연결된 속성을 만들었습니다 : ADPs.IsCellSelected - 열에 셀이 선택되었는지 여부를 나타냅니다. 행에 대해서도 비슷하게 잘 작동합니다. 이제이 속성을 사용하여 전체 열을 변경하고 싶습니다. 배경 속성은 다음과 같습니다.CellTemplate의 DataTrigger에서 DataGridColumn 속성에 액세스
<DataGridTemplateColumn x:Name="MyColumn" Header="Test">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource BaseCell}">
<Setter Property="Background" Value="Black"/>
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate x:Uid="DataTemplate_3">
<TextBlock x:Name="trg" Text="some text" />
<DataTemplate.Triggers>
<Trigger SourceName="MyColumn" Property="utilities:ADPs.IsCellSelectedColumn" Value="True">
<Setter TargetName="trg" Property="Background" Value="Red"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
그러나 VS는 "이름 MyColumn이 인식되지 않습니다."라는 오류가 표시됩니다. 어떻게하면 "셀"에서 내 새 DataGridColumn 속성에 액세스 할 수 있습니까?
편집 : 그러므로이 경우 ElementName을 사용하여 DataTemplate을 외부의 요소를 참조 할 수 없습니다 또한, DataGridTemplateColumn는 UIElement에하지 않고 VisualTree 아닌, 는 "DataTemplate을 자체 NameScope 있습니다. 은 아마 내가 때문에 의도 무엇을 할 수있는 sno t을 TI 따라서 DataGridTemplateColumn은 DataTemplate에 정의 된 요소의 부모가 아닙니다 .DataGridTemplateColumn은 열 정의에 사용되며, DataGrid는 정의를 기반으로 헤더, 행 및 셀을 생성하지만 DataGridColumns는 렌더링되지 않습니다. " link