У меня проблема с привязкой к WPF, которую я не получаю. У меня есть установка MVVM вроде следующей:WPF (mvvm) databinding itemssource и selecteditem для разных моделей
public class ModelA
{
public int Id
{
//Property uses INotifyPropertyChanged
}
}
public class ModelB
{
public ModelA The_A
{
//Property uses INotifyPropertyChanged
}
}
public class ViewModel
{
public IEnumerable<ModelA> ModelAList
{
//Property uses INotifyPropertyChanged
}
public IEnumerable<ModelB> ModelBList
{
//Property uses INotifyPropertyChanged
}
}
DataContext Моего XAML является ViewModel (сюрприз), и я получил этот ListBox в нем:
<ListBox ItemsSource="{Binding ModelBList}">
<ListBox.ItemTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.ModelAList"
SelectedItem="{Binding The_A}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Когда я открываю окно, в ComboBox не имеет выбранного элемента, но если я выберу что-то из флажка, то The_A будет настроено на все, что я выбрал.
Я полагаю, что ModelA в моем Modelalist отличаются от ModelA в ModelB. Могу ли я заставить эту привязку работать? Возможно, я пропустил что-то очевидное, или я не буду правильно атаковать проблему.
Спасибо большое!
В поле флажка привязано к ' ' –
SilentCoder
О, боже, я использовал CheckBox вместо ComboBox. Я хотел использовать combobox, следовательно, свойства selecteditem и itemssource. Я прошу прощения за то! Установка режима на TwoWay не влияет, к сожалению, но спасибо за предложение! –
Приятно это слышать. Вот так .. Привет! – SilentCoder