Xaml 选择后在LongListSelector中重置SelectedItem
我用的是Caliburn.Micro和LongListSelector。因为绑定SelectedItem是一个问题,所以我对SelectionChanged事件执行操作。问题是,返回列表后,当我再次单击同一项时,它已被选中。所以事件不会发生。我可以将SelectedIndex设置为-1或其他什么,但在Caliburn.Micro中,我无法访问UI控件。这就是MVVM的重点,不是吗?!:) 这是我的XAMLXaml 选择后在LongListSelector中重置SelectedItem,xaml,mvvm,windows-phone-8,caliburn.micro,longlistselector,Xaml,Mvvm,Windows Phone 8,Caliburn.micro,Longlistselector,我用的是Caliburn.Micro和LongListSelector。因为绑定SelectedItem是一个问题,所以我对SelectionChanged事件执行操作。问题是,返回列表后,当我再次单击同一项时,它已被选中。所以事件不会发生。我可以将SelectedIndex设置为-1或其他什么,但在Caliburn.Micro中,我无法访问UI控件。这就是MVVM的重点,不是吗?!:) 这是我的XAML <LongListSelector x:Name="NewsItems" Item
<LongListSelector x:Name="NewsItems"
ItemsSource="{Binding NewsItems}"
cal:Message.Attach="[Event SelectionChanged] = [NavigateToArticle($eventArgs)]" />
如何解决这个问题?当无法从代码访问LongListSelector时,如何重置SelectedItem
谢谢 您必须将您的LongListSelectionMode=“Multiple” 或
您可以使用手势点击事件获得它。不了解真正的问题,但 我认为,如果用户每次选择项目时都触发选择更改事件,则可以解决您的问题-
private void productList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
LongListSelector productList= (LongListSelector)sender;
if (productList.SelectedItem == null)
return;
//Write your code here
//For Tapping many times..
productList.SelectedItem = null;
}
上述代码将使选择更改事件在每次选择相同项目时触发。LongListSelector没有SelectionMode?我使用的是MVVM,因此无法访问productList,它不在我的ViewModel中。尤其是Caliburn.Micro,你不能,即使你想。