I am using MVVM, and I am trying to bind a TabControl's
ItemsSource
, I used this code:
<TabControl ItemsSource="{Binding ProjectComponents}"
SelectedIndex="{Binding SelectedMenu, Mode=TwoWay}" Grid.Column="1" Margin="5">
And for the view model:
projectComponents = new ObservableCollection<TabItem>();
projectComponents.Add(new TabItem()
{
Content = new ProjectComponentsView()
{
DataContext = new ProjectClientHandlerViewModel()
}
});
I used this in a Silverlight
project and it works just fine, but in WPF
, I don't know why is it that the content of the TabItem
does not show.
EDIT:
I edited my code to this:
View:
<TabControl ItemsSource="{Binding ProjectComponents}" SelectedIndex="{Binding SelectedMenu, Mode=TwoWay}" Grid.Column="1" Margin="5">
<TabControl.ContentTemplate>
<DataTemplate >
<this:ProjectComponentsView DataContext="{Binding}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
View model:
projectComponents = new ObservableCollection<ProjectComponentViewModel>();
projectComponents.Add(new ProductViewsHandlerViewModel());
Where ProjectComponentViewModel
is a base class of ProductViewsHandlerViewModel
, but it's still not working.