0

Silverlight5で有効であると思われるバインディングを削除するのに問題があります。

<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>

これは単純化された例ですが、うまくいけばかなり読みやすくなります。過剰に、SubgraphTemplateのVertexTemplateを、それを含むコントロール(ルートGraphLayoutコントロール)のVertexTemplateにバインドしようとしています。残念ながら、背後のコードでは、サブグラフコントロールでVertexTemplateがnullであることがわかります。

4

1 に答える 1

0

あなたのコードはうまくいくかもしれません(これは、を持たないものにバインドするのは奇妙であり、使用する必要があるx:Keyと思います{StaticResource SomethingWithName}))。

しかし、実際に探しているのはDataTemplateSelectorです。非常に使いやすく、説明したロジックを実際にサポートしています。

于 2012-09-06T07:18:30.053 に答える