我使用 SelectedItem 属性将数据绑定到我的 ViewModel,并且每当我点击一个项目时,我都可以看到该 set 方法正在触发。但是我在列表视图中点击的项目不会保持突出显示。知道为什么吗?
理想情况下,我还希望列表视图从选定的项目开始。但这也行不通。我试过使用 RaisePropertyChanged(() => CurrentItem); 在 ViewModel 构造函数中无济于事。
<Mvx.MvxListView
android:id="@+id/mainListView"
android:layout_width="240dp"
android:layout_height="fill_parent"
local:MvxItemTemplate="@layout/mainListItem"
local:MvxBind="ItemsSource Items; SelectedItem CurrentItem; ItemClick ShowDetailCommand" />
/// <summary>
/// Gets or sets the selected item.
/// </summary>
/// <value>The selected item.</value>
public MainListItem CurrentItem
{
get
{
if (SelectedIndex >= 0 && SelectedIndex < MainItems.Count)
{
return MainItems[SelectedIndex];
}
return null;
}
set
{
if (value != null)
{
int idx = MainItems.FindIndex(info => info.Name == value.Name);
if (SelectedIndex != idx)
{
SelectedIndex = idx;
}
}
else
{
SelectedIndex = -1;
}
RaisePropertyChanged(() => CurrentItem);
}
}