我无法解除我认为在Silverlight 5中应该有效的绑定:
<Controls:GraphLayout>
<Controls:GraphLayout.VertexTemplate>
<DataTemplate>
<TextBox ... />
</DataTemplate>
</Controls:GraphLayout.VertexTemplate>
<Controls:GraphLayout.SubgraphTemplate>
<DataTemplate>
<Controls:GraphLayout VertexTemplate="{Binding VertexTemplate, RelativeSource={RelativeSource AncestorType=Controls:GraphLayout}}"/>
</DataTemplate>
</Controls:GraphLayout.SubgraphTemplate>
</Controls:GraphLayout>
这是一个简化的例子,但希望它非常易读。在excessence中,我试图将SubgraphTemplate的VertexTemplate绑定到包含控件的VertexTemplate(根GraphLayout控件)。不幸的是,在后面的代码中我可以看到VertexTemplate在子图控件中为空。
答案 0 :(得分:0)
可能是你的代码可以工作(这很奇怪你绑定到没有有x:Key
的东西,我认为你应该使用{StaticResource SomethingWithName}
))。
但实际上你要找的是DataTemplateSelector。它非常易于使用,并且实际上支持您描述的逻辑。