Steuerelemente mit TemplateSelector-Eigenschaft
Nun habe ich ListView und in einer Spalte hat:
<GridViewColumn CellTemplateSelector="{StaticResource messagerEditorTemplateSelector}"/>
Und alles ist fein: Zelle mit Inhalt gefüllt ist, basierend auf dem Element. Jetzt will ich aber in dieser Zelle 2-Bedienelemente: für eine Vorlage muss ausgewählt sein, basierend auf Bindung und das andere ist die Kontrolle, die mit Namen, sagen TimeRangeView
. Aber ich kann nicht verstehen, wie kann es umgesetzt werden? Also ich muss einen code wie:
<GridViewColumn>
<DataTemplate>
<StackPanel>
<SomeControlWhichSupportTemplateSelector ... />
<views:TimeRangeView ... />
</StackPanel>
</DataTemplate>
</GridViewColumn>`
Die Steuerung sollte ich verwenden für eine Vorlage? Ich habe nur gefunden, listbox, aber es gebunden werden muss, um Sammlung. Natürlich konnte ich binden wie:
<ListBox ItemsSource="{Binding Converter=ItemToCollectionConverter}" />
aber es sieht nicht elegant. Vielleicht gibt es einen anderen Weg, es zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ein ContentControl und seine ContentTemplateSelector Eigenschaft:
Beachten Sie, dass für die Bindung an arbeiten Sie in Ihrem ContentControl, haben Sie, um die
Content
- Eigenschaft, um welches Objekt verwendet wird, in der Bindungen des DataTemplate zurückgegeben, indem Sie Ihre Auswahl.So, dass die für option 1.
Sie können auch einfach verwenden DataTriggers:
Das ist, was ich Tue, und es funktioniert wie ein Charme =)