我從你的問題中瞭解到你想要將ItemViewModel綁定到ItemView.xaml,而你的ListBox駐留在其他一些xaml(比如ListBox.xaml)中。您不想在ListBox.xaml中應用與ItemViewmodel和ItemVIew相關的綁定。如果這是問題,你 可以輕鬆地創建一個DataTemplate
映射實現這樣:
<Window
xmlns:vw="namespace of your view files (i.e. xaml files. ListBox.xaml and ItemView.xaml)"
xmlns:ViewModels="namespace of your view model files (i.e. ItemViewModel.cs, ListBoxViewModel.cs)">
<Window.Resources>
<DataTemplate DataType="{x:Type ViewModels:ItemViewModel}">
<vw:ItemView />
</DataTemplate>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Path=List of ItemViewmodel in ListBoxViewModel.cs}"
</Grid>
</Window>
然後,您ItemViewModel類將與ItemView控件,因爲它是在指定的資源沒有任何按鍵映射。現在你可以在ItemView.xaml中應用綁定。看,你不需要在這裏分配ListBox的Itemtemplate,它會自動解析。如果你想反正指定的ItemTemplate(並且不希望在資源指定),則這樣寫:
<ListBox.ItemTemplate>
<DataTemplate>
<vw:ItemView />
</DataTemplate>
</ListBox.ItemTemplate>
無論哪種方式應該工作:)
它的Silverlight。 – Ivo
我不明白你最後一句話,你可以發佈XAML和代碼嗎? – anivas