我有一个如下所示的 XAML 片段:
<UserControl.Resources>
<DataTemplate DataType="{x:Type ns:MyObject}">
<Grid>
/// Stuff
</Grid>
<GridView x:Name="MyGrid" />
</DataTemplate>
</UserControl.Resources>
<ns:MyObject x:Name="MyLovelyObject" />
现在,我想要一个指向“MyGrid”的指针。但是,由于 WPF 的内在设计,不可能在代码级别轻松访问“MyGrid”。所以,我正在寻找替代方案。以下是我想做但不能完全解决语法的事情(注意:GridView 是 MyObject 的公共属性):
<UserControl.Resources>
<DataTemplate DataType="{x:Type ns:MyObject}">
<Grid>
/// Stuff
</Grid>
<GridView Binding="{Path=GridView}" />
</DataTemplate>
<GridView x:Key="GridViewTemplate">
/// Lots of stuff
</GridView>
</UserControl.Resources>
<ns:MyObject x:Name="MyLovelyObject" GridView="{Binding GridViewTemplate}" />
无论如何,这显然是行不通的。基本上看来我对 XAML 有两个目标: 1. 使用 DataTemplate 创建 MyObject 2. 使用另一个 DataTemplate 初始化 MyObject.GridView (注意:GridView 是一个 GUI 对象)
对此有任何意见吗?
谢谢。