我正在使用Caliburn.Micro和LongListSelector。因为绑定SelectedItem是一个问题,我作用于SelectionChanged事件。问题是,在返回列表后,当我再次单击相同的项目时,它已被选中。所以事件不会发生。我可以将SelectedIndex设置为-1或者其他东西,但是在Caliburn.Micro中我无法访问UI控件。那是MVVM的重点,不是吗?! :)
这是我的XAML
<LongListSelector x:Name="NewsItems"
ItemsSource="{Binding NewsItems}"
cal:Message.Attach="[Event SelectionChanged] = [NavigateToArticle($eventArgs)]" />
如何解决这个问题?当我无法从代码访问LongListSelector时,如何重置SelectedItem?
谢谢!
答案 0 :(得分:0)
你必须把你的LongListSelector SelctionMode =“Multiple”,
或
你可以使用Gesture Tap活动获得它。
答案 1 :(得分:-1)
没有理解真正的问题但是 如果用户选择项目时选择更改事件,我认为您可以解决您的问题 -
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;
}
以上代码会在每次选择相同项目时触发选择更改事件。