在我的MVVM应用程序中,我的MainViewModel
中有一个名为Products
的对象;
我还创建了CollectionView
以启用Products
导航。我需要的是显示CollectionView.CurrentPosition
。
MainViewModel.cs
private CollectionView collectionView;
public CollectionView CollectionView
{
get { return this.collectionView; }
set
{
this.collectionView = value;
OnPropertyChanged(() => CollectionView);
}
}
public MainViewModel()
{
Products = fillProducts();
CollectionView = (CollectionView) CollectionViewSource.GetDefaultView(Products.Items);
}
现在显示Products
中的项目:
<TabItem x:Name="tabProductsView"
DataContext="{Binding Products.Items}"
Header="View Products">
<textBlock Text="{Binding ProductID}" />
<textBlock Text="{Binding ProductDesc}" />
<textBlock Text="{Binding ProductName}" />
...
<TextBlock name="CurrentItemPosition" Text ="{Binding CollectionView.CurrentPosition}"/>
</tabItem>
现在,绑定到Products.Items
可能正常工作,我可以浏览我的产品并查看详细信息。但是查看CollectionView.CurrentPosition
无法正常工作(没有显示任何内容),因为我已经将DataContext
洞TabItem
设置为Products.Items。同时设置DataContext
的{{1}}无效。
有关如何在CurrentItemPosition TextBlock
下显示CollectionView.CurrentPosition
的任何想法?
换句话说,我如何从同一个'TabItem中的TabItem
绑定到另一个Object
?
提前致谢。
答案 0 :(得分:0)
好的,我试图直接绑定到CollectionView本身,现在一切正常......