|
@@ -1,10 +1,12 @@
|
|
|
using System;
|
|
|
+using System.Collections.Generic;
|
|
|
using System.Collections.ObjectModel;
|
|
|
using System.Linq;
|
|
|
using Avalonia.Collections;
|
|
|
using Avalonia.Controls.Presenters;
|
|
|
using Avalonia.Controls.Primitives;
|
|
|
using Avalonia.Controls.Templates;
|
|
|
+using Avalonia.Controls.Utils;
|
|
|
using Avalonia.LogicalTree;
|
|
|
using Avalonia.Styling;
|
|
|
using Avalonia.UnitTests;
|
|
@@ -325,6 +327,28 @@ namespace Avalonia.Controls.UnitTests
|
|
|
Assert.NotEqual(dataContext, tabItem.Content);
|
|
|
}
|
|
|
|
|
|
+ [Fact]
|
|
|
+ public void Can_Have_Empty_Tab_Control()
|
|
|
+ {
|
|
|
+ using (UnitTestApplication.Start(TestServices.StyledWindow))
|
|
|
+ {
|
|
|
+ var xaml = @"
|
|
|
+<Window xmlns='https://github.com/avaloniaui'
|
|
|
+ xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
|
|
|
+ xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests'>
|
|
|
+ <TabControl Name='tabs' Items='{Binding Tabs}'/>
|
|
|
+</Window>";
|
|
|
+ var loader = new Markup.Xaml.AvaloniaXamlLoader();
|
|
|
+ var window = (Window)loader.Load(xaml);
|
|
|
+ var tabControl = window.FindControl<TabControl>("tabs");
|
|
|
+
|
|
|
+ tabControl.DataContext = new { Tabs = new List<string>() };
|
|
|
+ window.ApplyTemplate();
|
|
|
+
|
|
|
+ Assert.Equal(0, tabControl.Items.Count());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private IControlTemplate TabControlTemplate()
|
|
|
{
|
|
|
return new FuncControlTemplate<TabControl>((parent, scope) =>
|