Browse Source

Fixed failing TreeView tests.

Steven Kirk 10 years ago
parent
commit
2bcaef3c7e

+ 5 - 1
src/Perspex.Controls/ItemsControl.cs

@@ -156,7 +156,11 @@ namespace Perspex.Controls
         protected override void OnTemplateChanged(PerspexPropertyChangedEventArgs e)
         {
             base.OnTemplateChanged(e);
-            ItemContainerGenerator.Clear();
+
+            if (e.NewValue == null)
+            {
+                ItemContainerGenerator.Clear();
+            }
         }
 
         /// <summary>

+ 5 - 0
tests/Perspex.Controls.UnitTests/TreeViewTests.cs

@@ -67,6 +67,9 @@ namespace Perspex.Controls.UnitTests
 
             var container = target.ItemContainerGenerator.TreeContainerFromItem(
                 tree[0].Children[1].Children[0]);
+
+            Assert.NotNull(container);
+
             var header = ((TreeViewItem)container).Header;
             var headerContent = ((TextBlock)header).Text;
 
@@ -91,6 +94,8 @@ namespace Perspex.Controls.UnitTests
             var item = tree[0].Children[1].Children[0];
             var container = (TreeViewItem)target.ItemContainerGenerator.TreeContainerFromItem(item);
 
+            Assert.NotNull(container);
+
             container.RaiseEvent(new PointerPressEventArgs
             {
                 RoutedEvent = InputElement.PointerPressedEvent,