У меня есть два ViewModel, на первом ViewModel у меня есть ListBox:SelectedItem всегда должен быть установлен на действительное значение
<ListBox x:Name="MainMenu" toolkits:TiltEffect.IsTiltEnabled="True"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
ItemTemplate="{StaticResource MainMenu}"
ItemsSource="{Binding Categories}" Margin="0,97,0,0"
Tap="MainMenu_Tap">
На второй странице, у меня есть listpicker
<toolkit:ListPicker Margin="0,153,0,0" Background="{StaticResource PhoneAccentBrush}" VerticalAlignment="Top"
ItemsSource="{Binding Categories}"
SelectedItem="{Binding Item}"
ItemTemplate="{StaticResource CategorySelector}"
FullModeHeader="Category"
FullModeItemTemplate="{StaticResource FullCategorySelector}"
BorderBrush="{StaticResource PhoneAccentBrush}"/>
Что я хочу, когда я перейду на вторую страницу, выбранный элемент на первой странице будет выбран на второй странице. Но я всегда получаю, чтобы выбранный элемент всегда устанавливался на допустимое значение, когда я перехожу на вторую страницу.
первого ViewModel
private CategoryModel _selectedItem = null;
public CategoryModel SelectedItem
{
get { return _selectedItem; }
set
{
if (_selectedItem == value)
{
return;
}
var oldValue = _selectedItem;
_selectedItem = value;
RaisePropertyChanged("SelectedItem", oldValue, value, true);
}
}
второй ViewModel
private CategoryModel _item = null;
public CategoryModel Item
{
get { return _item; }
set
{
if (_item == value)
{
return;
}
var oldValue = _item;
_item = value;
// Update bindings, no broadcast
RaisePropertyChanged("Item");
}
}
РЕДАКТИРОВАТЬ
Когда я изменяю listpicker на второй странице в Listbox, он работает очень хорошо.
Так что это вопрос enter link description here. Как мне сделать, чтобы эта вещь работала с listpicker?