LongListSelector игнорирует изменения своего ItemTemplate. Определение DependencyProperty в LongListSelector выглядит следующим образом:
public static readonly DependencyProperty ItemsTemplateProperty =
DependencyProperty.Register("ItemTemplate", typeof(DataTemplate),
typeof(LongListSelector),
new PropertyMetadata(null));
Если вы хотите, чтобы он заметил изменения, вы можете получить исходный код и восстановить его так:
public static readonly DependencyProperty ItemsTemplateProperty =
DependencyProperty.Register("ItemTemplate", typeof(DataTemplate),
typeof(LongListSelector),
new PropertyMetadata(null,
OnItemsTemplateChanged));
private static void OnItemsTemplateChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
((LongListSelector)obj).OnItemsTemplateChanged();
}
private void OnItemsTemplateChanged()
{
_flattenedItems = null;
if (_isLoaded)
{
EnsureData();
}
}