KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've got a simple problem in my WPF application which has me banging my head on the table. I have a TabControl, where every TabItem is a View generated for a ViewModel using a DataTemplate similar to this: <DataTemplate DataType="{x:Type vm:FooViewModel}"> <vw:FooView/> </DataTemplate> FooView contains a ComboBox: <ComboBox ItemsSource="{Binding Path=BarList}" DisplayMemberPath="Name" SelectedItem="{Binding Path=SelectedBar}"/> and FooViewModel contains a simple Property: public Bar SelectedBar { get; set; } . My problem is that when I set the value for my ComboBox, change to another tab, then change back, the ComboBox is empty again. If I set a breakpoint on the setter for my property, I see that the property is assigned to null when I switch to another tab. From what I understand, when a tab is switched, it is removed from the VisualTree - but why is it setting my ViewModel's property to null ? This is making it very difficult for me to hold persistent state, and checking value != null does not seem like the right solution. Can anyone shed some like on this situation? Edit: The call stack at the setter breakpoint only shows [External Code] - no hints there.
Tags (comma-separated)
Save Edits
Cancel