是的呀,在那个帖子中,我的方法是在SelectionChanged时候将属性IsSynchronizedWithCurrentItem清除掉,所以他恢复默认值null, 切换source是不会重新为这个属性赋值的。
所以对于你的代码 这么修改:
private void itemGridView_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
{
if ((sender as GridView).IsSynchronizedWithCurrentItem != null)
{
(sender as GridView).ClearValue(GridView.IsSynchronizedWithCurrentItemProperty);
if (e.AddedItems.Count > 0)
(sender as GridView).SelectedItem = e.AddedItems[0];
}
}
bool flag = false;
private void Button_Click_1(object sender, RoutedEventArgs e)
{
if (!flag)
{
...
}
else
{
...
}
flag = !flag;
itemGridView.SelectedItem = null;
itemGridView.IsSynchronizedWithCurrentItem = false;
}
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
