MVVM 또는 PRISM 기반 모델을 사용하고 있지 않습니다. DataGrid 내 DataGrid와 동일한 레벨에있는 컨트롤에 DataGrid DataTemplate을 바인딩하려고합니다. 이 작업을 수행하면 null이 반환됩니다.DataGrid 내의 DataTemplate에서 컨트롤 참조에 바인딩하는 방법
2 질문 :
이 LayoutRoot 무엇? 이 예제를 그리드라고 할 때 객체를 반환합니다. LayoutRoot를 XAML의 캔버스로 변경하면 null이 반환됩니다.
DataGrid 열의 DataTemplate에서 내 XAML의 Canvas에 어떻게 바인딩합니까?
나는 다음과 같은 XAML 한 내 캔버스 내
<Grid x:Name="LayoutRoot" Background="#F7F7F7">
<Border>
<Canvas x:Name="LayoutCanvas">
<!-- A lot of Xaml -->
</Canvas>
</Border>
</Grid>
(때문에 길이의 트림), 나는 다음과 같은 데이터 그리드가 : 내가하려고 할 때
<sdk:DataGrid x:Name="dgOrderContents" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Thumb">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ucp:PhotoComponentForDataGrid Source="{Binding PhotoUrl}" PopupTarget="{Binding ElementName='LayoutCanvas' }" Width="60" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn
</sdk:DataGrid.Columns>
</sdk:DataGrid>
내 문제를 'LayoutCanvas'를 사용하여 바인드하면 오류가 발생하는 값은 null입니다. 'LayoutRoot'에 바인딩하면 Canvas가 필요한데, 내 UserControl 내부에있는 FloatableWindow 컨트롤은 Canvas를 사용하기 때문에 작동합니다.
미리 도움을 청하십시오.