veeresh angadi Ответов: 1

Привязка выбранного элемента в wpff MVVM


Всем Привет,

Я пишу приложение WPF с использованием MVVM. У меня есть список, в который загружено несколько пользовательских элементов управления. Когда я нажимаю на определенный элемент списка, будет загружен другой элемент управления (Control1). Я закрою контроль (Control1). Теперь, когда я снова нажимаю на тот же пользовательский элемент управления(в списке), он снова не загружает элемент управления(Control1), потому что значение selectedItem срабатывает, потому что мы снова выбрали тот же элемент. Как я могу заставить управление снова запустить выбранный элемент, чтобы я мог снова отобразить элемент управления, или есть какой-то другой способ решить эту проблему.

Код модели моего представления:

общественные TileControlViewModel элемент
{
get { return _selectedItem; }
набор
{
_selectedItem = значение;
OnPropertyChanged ("SelectedItem");
если (_selectedItem != нуль)
{
AddToLiveTile (_selectedItem. Key);
}

}
}

Что я уже пробовал:

Я попытался изменить выбранный элемент на выбранное значение, но все равно это не работает.

veeresh angadi

код XAML
&ЛТ;списка имя="lvDataBinding" для selectionmode="один", что ItemsSource="{привязки AllTiles}" для selecteditem="{привязки, элемент,режим=с двусторонним движением,UpdateSourceTrigger=PropertyChanged, как}" IsSynchronizedWithCurrentItem="правда"и GT;
& lt;ListBox.Для &ГТ;
<itemspaneltemplate>
<wrappanel width= " {Binding (FrameworkElement.ActualWidth),
RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}">


< / ListBox.Для&ГТ;
& lt;ListBox.ItemTemplate>
<datatemplate>
& lt;custom:tilecontrol margin= " 10 "datacontext=" {Binding} " >

< / ListBox.ItemTemplate>
& lt;ListBox>

1 Ответов

Рейтинг:
2

veeresh angadi

мой XAML

&ЛТ;списка имя="lvDataBinding" для selectionmode="один", что ItemsSource="{привязки AllTiles}" для selecteditem="{привязки, элемент,режим=с двусторонним движением,UpdateSourceTrigger=PropertyChanged, как}" issynchronizedwithcurrentitem="правда"и GT;
< listbox. itemspanel> & lt;itemspaneltemplate>
<wrappanel width= " {Binding (FrameworkElement.ActualWidth), &ЛТ;БР= режим" удерживать=" /&ГТ; RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"&ГТ;


&ЛТ;поля списка.свойства itemtemplate&ГТ; &ЛТ;шаблон данных DataTemplate&ГТ;
&ЛТ;таможня:маржа tilecontrol="10" класс DataContext="{привязки}" атрибутов xmlns:таможня="#неизвестный"&ГТ;