我没有使用基于 MVVM 或 PRISM 的模型。我正在尝试将 DataGrid DataTemplate 内部绑定到与我的 DataGrid 处于同一级别的控件。当我这样做时,我返回 null。
2个问题:
什么是布局根?当我引用它时,在这种情况下是一个网格,我返回一个对象。如果我将 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>
在我的画布中,我有以下 DataGrid:
<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。
提前感谢您的任何帮助或建议。