私は、ModelBoxオブジェクトをListBoxとDiagrammで表示することを切り替える簡単なWP7 Programmを持っています。DataTemplateでListBoxコントロールを使用する
データテンプレートと正しいテンプレートを返すセレクタクラスを使用したいと思います。 セレクタは、ビューモデルにboolean型プロパティをとり、ListBoxTemplateまたはDiagrammTemplate
を返しマイページリソースは次のようになります。私は
<ContentControl ContentTemplate="{Binding IsDiagramm,
Converter={StaticResource NewTemplateSelector}}" HorizontalAlignment="Left" HorizontalContentAlignment="Left" />
:
<local:NewTemplateSelector x:Key="NewTemplateSelector">
<local:NewTemplateSelector.ListBoxTemplate>
<DataTemplate>
<StackPanel>
<ListBox
x:Name="MainListBox" Margin="6,205,35,136" ItemsSource="{Binding Acts}"
ItemTemplate="{Binding ElementName=Page, Path=Orientation,
Converter={StaticResource OrientationToListItemTemplate}}" />
</StackPanel>
</DataTemplate>
</local:NewTemplateSelector.ListBoxTemplate>
<local:NewTemplateSelector.DiagrammTemplate>
<DataTemplate>
<TextBlock Text="Diagramm"/>
</DataTemplate>
</local:NewTemplateSelector.DiagrammTemplate>
</local:NewTemplateSelector>
マイコンテンツパネルは1つだけの要素を持っています私はこれを実行すると、常に空白の画面が表示されます。 My Selectorクラスが正しいテンプレートを返します。私はこれをデバッガで見ることができます。 テンプレートのリストボックスを単純なテキストブロックに置き換えると、テキストブロックが表示されるので、データバインディングに問題があると思われます。
しかし、テンプレートのリストボックスは、データパネルなしでコンテンツパネルに挿入すると、うまく動作します。
私のヒント?
どのようにコンテンツコントロールにデータを入れますか? – thomasmartinsen