diff --git a/build.cake b/build.cake
index 45f2d9e18d..4e18f23780 100644
--- a/build.cake
+++ b/build.cake
@@ -6,7 +6,7 @@
#addin "nuget:?package=NuGet.Core&version=2.12.0"
#tool "nuget:?package=xunit.runner.console&version=2.2.0"
#tool "nuget:https://dotnet.myget.org/F/nuget-build/?package=NuGet.CommandLine&version=4.3.0-preview1-3980&prerelease"
-#tool "JetBrains.ReSharper.CommandLineTools"
+#tool "nuget:?package=JetBrains.ReSharper.CommandLineTools&version=2017.1.20170613.162720"
///////////////////////////////////////////////////////////////////////////////
// TOOLS
///////////////////////////////////////////////////////////////////////////////
diff --git a/build/Moq.props b/build/Moq.props
index 55242d922e..7de9b6b6ba 100644
--- a/build/Moq.props
+++ b/build/Moq.props
@@ -1,5 +1,5 @@
-
+
diff --git a/src/Avalonia.Controls/Application.cs b/src/Avalonia.Controls/Application.cs
index 725163bba8..abae080515 100644
--- a/src/Avalonia.Controls/Application.cs
+++ b/src/Avalonia.Controls/Application.cs
@@ -39,6 +39,7 @@ namespace Avalonia
private readonly Lazy _clipboard =
new Lazy(() => (IClipboard)AvaloniaLocator.Current.GetService(typeof(IClipboard)));
private readonly Styler _styler = new Styler();
+ private Styles _styles;
private IResourceDictionary _resources;
///
@@ -69,11 +70,7 @@ namespace Avalonia
///
/// The application's global data templates.
///
- public DataTemplates DataTemplates
- {
- get { return _dataTemplates ?? (_dataTemplates = new DataTemplates()); }
- set { _dataTemplates = value; }
- }
+ public DataTemplates DataTemplates => _dataTemplates ?? (_dataTemplates = new DataTemplates());
///
/// Gets the application's focus manager.
@@ -141,13 +138,19 @@ namespace Avalonia
///
/// Global styles apply to all windows in the application.
///
- public Styles Styles { get; } = new Styles();
+ public Styles Styles => _styles ?? (_styles = new Styles());
+
+ ///
+ bool IDataTemplateHost.IsDataTemplatesInitialized => _dataTemplates != null;
///
/// Gets the styling parent of the application, which is null.
///
IStyleHost IStyleHost.StylingParent => null;
+ ///
+ bool IStyleHost.IsStylesInitialized => _styles != null;
+
///
bool IResourceProvider.HasResources => _resources?.Count > 0;
diff --git a/src/Avalonia.Controls/Control.cs b/src/Avalonia.Controls/Control.cs
index b6283ab7ee..f3705c9127 100644
--- a/src/Avalonia.Controls/Control.cs
+++ b/src/Avalonia.Controls/Control.cs
@@ -249,11 +249,7 @@ namespace Avalonia.Controls
/// Each control may define data templates which are applied to the control itself and its
/// children.
///
- public DataTemplates DataTemplates
- {
- get { return _dataTemplates ?? (_dataTemplates = new DataTemplates()); }
- set { _dataTemplates = value; }
- }
+ public DataTemplates DataTemplates => _dataTemplates ?? (_dataTemplates = new DataTemplates());
///
/// Gets a value that indicates whether the element has finished initialization.
@@ -265,7 +261,7 @@ namespace Avalonia.Controls
public bool IsInitialized { get; private set; }
///
- /// Gets or sets the styles for the control.
+ /// Gets the styles for the control.
///
///
/// Styles for the entire application are added to the Application.Styles collection, but
@@ -379,6 +375,9 @@ namespace Avalonia.Controls
}
}
+ ///
+ bool IDataTemplateHost.IsDataTemplatesInitialized => _dataTemplates != null;
+
///
/// Gets the collection in a form that allows adding and removing
/// pseudoclasses.
@@ -423,6 +422,9 @@ namespace Avalonia.Controls
///
IObservable IStyleable.StyleDetach => _styleDetach;
+ ///
+ bool IStyleHost.IsStylesInitialized => _styles != null;
+
///
IStyleHost IStyleHost.StylingParent => (IStyleHost)InheritanceParent;
diff --git a/src/Avalonia.Controls/IControl.cs b/src/Avalonia.Controls/IControl.cs
index a5730bf398..36e09b2ea1 100644
--- a/src/Avalonia.Controls/IControl.cs
+++ b/src/Avalonia.Controls/IControl.cs
@@ -14,7 +14,15 @@ namespace Avalonia.Controls
///
/// Interface for Avalonia controls.
///
- public interface IControl : IVisual, ILogical, ILayoutable, IInputElement, INamed, IResourceNode, IStyleable, IStyleHost
+ public interface IControl : IVisual,
+ IDataTemplateHost,
+ ILogical,
+ ILayoutable,
+ IInputElement,
+ INamed,
+ IResourceNode,
+ IStyleable,
+ IStyleHost
{
///
/// Occurs when the control has finished initialization.
@@ -31,11 +39,6 @@ namespace Avalonia.Controls
///
object DataContext { get; set; }
- ///
- /// Gets the data templates for the control.
- ///
- DataTemplates DataTemplates { get; }
-
///
/// Gets a value that indicates whether the element has finished initialization.
///
diff --git a/src/Avalonia.Controls/IGlobalDataTemplates.cs b/src/Avalonia.Controls/IGlobalDataTemplates.cs
index a20c7379a3..248615de0d 100644
--- a/src/Avalonia.Controls/IGlobalDataTemplates.cs
+++ b/src/Avalonia.Controls/IGlobalDataTemplates.cs
@@ -8,11 +8,7 @@ namespace Avalonia.Controls
///
/// Defines the application-global data templates.
///
- public interface IGlobalDataTemplates
+ public interface IGlobalDataTemplates : IDataTemplateHost
{
- ///
- /// Gets the application-global data templates.
- ///
- DataTemplates DataTemplates { get; }
}
}
diff --git a/src/Avalonia.Controls/Templates/DataTemplateExtensions.cs b/src/Avalonia.Controls/Templates/DataTemplateExtensions.cs
index df25733524..559cb9b776 100644
--- a/src/Avalonia.Controls/Templates/DataTemplateExtensions.cs
+++ b/src/Avalonia.Controls/Templates/DataTemplateExtensions.cs
@@ -17,8 +17,8 @@ namespace Avalonia.Controls.Templates
/// The control searching for the data template.
/// The data.
///
- /// An optional primary template that can will be tried before the
- /// in the tree are searched.
+ /// An optional primary template that can will be tried before the DataTemplates in the
+ /// tree are searched.
///
/// The data template or null if no matching data template was found.
public static IDataTemplate FindDataTemplate(
@@ -31,13 +31,16 @@ namespace Avalonia.Controls.Templates
return primary;
}
- foreach (var i in control.GetSelfAndLogicalAncestors().OfType())
+ foreach (var i in control.GetSelfAndLogicalAncestors().OfType())
{
- foreach (IDataTemplate dt in i.DataTemplates)
+ if (i.IsDataTemplatesInitialized)
{
- if (dt.Match(data))
+ foreach (IDataTemplate dt in i.DataTemplates)
{
- return dt;
+ if (dt.Match(data))
+ {
+ return dt;
+ }
}
}
}
@@ -46,11 +49,14 @@ namespace Avalonia.Controls.Templates
if (global != null)
{
- foreach (IDataTemplate dt in global.DataTemplates)
+ if (global.IsDataTemplatesInitialized)
{
- if (dt.Match(data))
+ foreach (IDataTemplate dt in global.DataTemplates)
{
- return dt;
+ if (dt.Match(data))
+ {
+ return dt;
+ }
}
}
}
diff --git a/src/Avalonia.Controls/Templates/IDataTemplateHost.cs b/src/Avalonia.Controls/Templates/IDataTemplateHost.cs
new file mode 100644
index 0000000000..5cc12581d4
--- /dev/null
+++ b/src/Avalonia.Controls/Templates/IDataTemplateHost.cs
@@ -0,0 +1,27 @@
+// Copyright (c) The Avalonia Project. All rights reserved.
+// Licensed under the MIT license. See licence.md file in the project root for full license information.
+
+using System;
+
+namespace Avalonia.Controls.Templates
+{
+ ///
+ /// Defines an element that has a collection.
+ ///
+ public interface IDataTemplateHost
+ {
+ ///
+ /// Gets the data templates for the element.
+ ///
+ DataTemplates DataTemplates { get; }
+
+ ///
+ /// Gets a value indicating whether is initialized.
+ ///
+ ///
+ /// The property may be lazily initialized, if so this property
+ /// indicates whether it has been initialized.
+ ///
+ bool IsDataTemplatesInitialized { get; }
+ }
+}
diff --git a/src/Avalonia.Diagnostics/DevTools.xaml.cs b/src/Avalonia.Diagnostics/DevTools.xaml.cs
index 6593a8cd42..be0863954a 100644
--- a/src/Avalonia.Diagnostics/DevTools.xaml.cs
+++ b/src/Avalonia.Diagnostics/DevTools.xaml.cs
@@ -71,7 +71,7 @@ namespace Avalonia.Diagnostics
Width = 1024,
Height = 512,
Content = devTools,
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new ViewLocator(),
}
diff --git a/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs b/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
index d7bd6fd128..e58818d31d 100644
--- a/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
+++ b/src/Avalonia.Diagnostics/Views/ControlDetailsView.cs
@@ -42,7 +42,7 @@ namespace Avalonia.Diagnostics.Views
{
Content = _grid = new SimpleGrid
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.Is())
{
diff --git a/src/Avalonia.Interactivity/Interactive.cs b/src/Avalonia.Interactivity/Interactive.cs
index e38b348179..78df6f6151 100644
--- a/src/Avalonia.Interactivity/Interactive.cs
+++ b/src/Avalonia.Interactivity/Interactive.cs
@@ -16,14 +16,18 @@ namespace Avalonia.Interactivity
///
public class Interactive : Layoutable, IInteractive
{
- private readonly Dictionary> _eventHandlers =
- new Dictionary>();
+ private Dictionary> _eventHandlers;
///
/// Gets the interactive parent of the object for bubbling and tunnelling events.
///
IInteractive IInteractive.InteractiveParent => ((IVisual)this).VisualParent as IInteractive;
+ private Dictionary> EventHandlers
+ {
+ get { return _eventHandlers ?? (_eventHandlers = new Dictionary>()); }
+ }
+
///
/// Adds a handler for the specified routed event.
///
@@ -43,10 +47,10 @@ namespace Avalonia.Interactivity
List subscriptions;
- if (!_eventHandlers.TryGetValue(routedEvent, out subscriptions))
+ if (!EventHandlers.TryGetValue(routedEvent, out subscriptions))
{
subscriptions = new List();
- _eventHandlers.Add(routedEvent, subscriptions);
+ EventHandlers.Add(routedEvent, subscriptions);
}
var sub = new EventSubscription
@@ -89,9 +93,9 @@ namespace Avalonia.Interactivity
Contract.Requires(routedEvent != null);
Contract.Requires(handler != null);
- List subscriptions;
+ List subscriptions = null;
- if (_eventHandlers.TryGetValue(routedEvent, out subscriptions))
+ if (_eventHandlers?.TryGetValue(routedEvent, out subscriptions) == true)
{
subscriptions.RemoveAll(x => x.Handler == handler);
}
@@ -181,9 +185,9 @@ namespace Avalonia.Interactivity
e.RoutedEvent.InvokeRaised(this, e);
- List subscriptions;
+ List subscriptions = null;
- if (_eventHandlers.TryGetValue(e.RoutedEvent, out subscriptions))
+ if (_eventHandlers?.TryGetValue(e.RoutedEvent, out subscriptions) == true)
{
foreach (var sub in subscriptions.ToList())
{
diff --git a/src/Avalonia.Styling/Styling/IStyleHost.cs b/src/Avalonia.Styling/Styling/IStyleHost.cs
index 466edc4423..b225419c2d 100644
--- a/src/Avalonia.Styling/Styling/IStyleHost.cs
+++ b/src/Avalonia.Styling/Styling/IStyleHost.cs
@@ -1,6 +1,8 @@
// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
+using System;
+
namespace Avalonia.Styling
{
///
@@ -8,6 +10,15 @@ namespace Avalonia.Styling
///
public interface IStyleHost
{
+ ///
+ /// Gets a value indicating whether is initialized.
+ ///
+ ///
+ /// The property may be lazily initialized, if so this property
+ /// indicates whether it has been initialized.
+ ///
+ bool IsStylesInitialized { get; }
+
///
/// Gets the styles for the element.
///
diff --git a/src/Avalonia.Styling/Styling/Styler.cs b/src/Avalonia.Styling/Styling/Styler.cs
index 880e435b58..7ac5c89005 100644
--- a/src/Avalonia.Styling/Styling/Styler.cs
+++ b/src/Avalonia.Styling/Styling/Styler.cs
@@ -29,7 +29,10 @@ namespace Avalonia.Styling
ApplyStyles(control, parentContainer);
}
- styleHost.Styles.Attach(control, styleHost);
+ if (styleHost.IsStylesInitialized)
+ {
+ styleHost.Styles.Attach(control, styleHost);
+ }
}
}
}
diff --git a/src/Gtk/Avalonia.Gtk3/Interop/Utf8Buffer.cs b/src/Gtk/Avalonia.Gtk3/Interop/Utf8Buffer.cs
index fc76fefd1a..c932aac950 100644
--- a/src/Gtk/Avalonia.Gtk3/Interop/Utf8Buffer.cs
+++ b/src/Gtk/Avalonia.Gtk3/Interop/Utf8Buffer.cs
@@ -36,6 +36,8 @@ namespace Avalonia.Gtk3.Interop
public static unsafe string StringFromPtr(IntPtr s)
{
var pstr = (byte*)s;
+ if (pstr == null)
+ return null;
int len;
for (len = 0; pstr[len] != 0; len++) ;
var bytes = new byte[len];
diff --git a/tests/Avalonia.Controls.UnitTests/ItemsControlTests.cs b/tests/Avalonia.Controls.UnitTests/ItemsControlTests.cs
index e88d1881e6..f01eecf647 100644
--- a/tests/Avalonia.Controls.UnitTests/ItemsControlTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/ItemsControlTests.cs
@@ -388,7 +388,7 @@ namespace Avalonia.Controls.UnitTests
{
Template = GetTemplate(),
DataContext = "Base",
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new FuncDataTemplate- (x => new Button { Content = x })
},
diff --git a/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs b/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs
index e58542bfb4..a5f5f8d328 100644
--- a/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/ListBoxTests.cs
@@ -109,10 +109,10 @@ namespace Avalonia.Controls.UnitTests
{
Template = ListBoxTemplate(),
DataContext = "Base",
- DataTemplates = new DataTemplates
- {
- new FuncDataTemplate
- (x => new Button { Content = x })
- },
+ DataTemplates =
+ {
+ new FuncDataTemplate
- (x => new Button { Content = x })
+ },
Items = items,
};
diff --git a/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_Unrooted.cs b/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_Unrooted.cs
index 3585109dee..5268c9ac0d 100644
--- a/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_Unrooted.cs
+++ b/tests/Avalonia.Controls.UnitTests/Presenters/ContentPresenterTests_Unrooted.cs
@@ -88,7 +88,7 @@ namespace Avalonia.Controls.UnitTests.Presenters
root.Child = null;
root = new TestRoot
{
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new FuncDataTemplate(x => new Decorator()),
},
diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs
index f192e87f08..ccbf04533d 100644
--- a/tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/Primitives/PopupTests.cs
@@ -265,6 +265,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
};
var globalStyles = new Mock();
+ globalStyles.Setup(x => x.IsStylesInitialized).Returns(true);
globalStyles.Setup(x => x.Styles).Returns(styles);
var renderInterface = new Mock();
diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs
index 72c8073f21..be3c34ac2e 100644
--- a/tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/Primitives/TemplatedControlTests.cs
@@ -399,7 +399,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
TestTemplatedControl target;
var root = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
@@ -435,7 +435,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
TestTemplatedControl target;
var root = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
@@ -474,7 +474,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var root = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
@@ -494,7 +494,7 @@ namespace Avalonia.Controls.UnitTests.Primitives
var root2 = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
diff --git a/tests/Avalonia.Controls.UnitTests/TabControlTests.cs b/tests/Avalonia.Controls.UnitTests/TabControlTests.cs
index 2bbd08bf42..638d773cd0 100644
--- a/tests/Avalonia.Controls.UnitTests/TabControlTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/TabControlTests.cs
@@ -135,7 +135,7 @@ namespace Avalonia.Controls.UnitTests
{
var root = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
@@ -174,7 +174,7 @@ namespace Avalonia.Controls.UnitTests
{
Template = new FuncControlTemplate(CreateTabControlTemplate),
DataContext = "Base",
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new FuncDataTemplate
- (x => new Button { Content = x })
},
diff --git a/tests/Avalonia.Controls.UnitTests/TreeViewTests.cs b/tests/Avalonia.Controls.UnitTests/TreeViewTests.cs
index 44ef7192ff..29eac3d8f5 100644
--- a/tests/Avalonia.Controls.UnitTests/TreeViewTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/TreeViewTests.cs
@@ -25,9 +25,9 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = CreateTestTreeData(),
- DataTemplates = CreateNodeDataTemplate(),
};
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
Assert.Equal(new[] { "Root" }, ExtractItemHeader(target, 0));
@@ -69,9 +69,9 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = CreateTestTreeData(),
- DataTemplates = CreateNodeDataTemplate(),
};
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
var container = (TreeViewItem)target.ItemContainerGenerator.Containers.Single().ContainerControl;
@@ -87,7 +87,6 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = tree,
- DataTemplates = CreateNodeDataTemplate(),
};
// For TreeViewItem to find its parent TreeView, OnAttachedToLogicalTree needs
@@ -95,6 +94,7 @@ namespace Avalonia.Controls.UnitTests
var root = new TestRoot();
root.Child = target;
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
var container = target.ItemContainerGenerator.Index.ContainerFromItem(
@@ -116,11 +116,12 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = tree,
- DataTemplates = CreateNodeDataTemplate(),
};
var visualRoot = new TestRoot();
visualRoot.Child = target;
+
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
var item = tree[0].Children[1].Children[0];
@@ -146,11 +147,12 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = tree,
- DataTemplates = CreateNodeDataTemplate(),
};
var visualRoot = new TestRoot();
visualRoot.Child = target;
+
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
var item = tree[0].Children[1].Children[0];
@@ -191,12 +193,13 @@ namespace Avalonia.Controls.UnitTests
var target = new TreeView
{
Template = CreateTreeViewTemplate(),
- DataTemplates = CreateNodeDataTemplate(),
Items = tree,
};
var root = new TestRoot();
root.Child = target;
+
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
Assert.Equal(5, target.ItemContainerGenerator.Index.Items.Count());
@@ -221,7 +224,7 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
DataContext = "Base",
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new FuncDataTemplate(x => new Button { Content = x })
},
@@ -291,9 +294,9 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = data,
- DataTemplates = CreateNodeDataTemplate(),
};
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
Assert.Equal(new[] { "Root" }, ExtractItemHeader(target, 0));
@@ -328,7 +331,6 @@ namespace Avalonia.Controls.UnitTests
{
Template = CreateTreeViewTemplate(),
Items = data,
- DataTemplates = CreateNodeDataTemplate(),
};
var button = new Button();
@@ -341,6 +343,7 @@ namespace Avalonia.Controls.UnitTests
}
};
+ CreateNodeDataTemplate(target);
ApplyTemplates(target);
var item = data[0].Children[0];
@@ -411,12 +414,9 @@ namespace Avalonia.Controls.UnitTests
};
}
- private DataTemplates CreateNodeDataTemplate()
+ private void CreateNodeDataTemplate(IControl control)
{
- return new DataTemplates
- {
- new TestTreeDataTemplate()
- };
+ control.DataTemplates.Add(new TestTreeDataTemplate());
}
private IControlTemplate CreateTreeViewTemplate()
diff --git a/tests/Avalonia.Controls.UnitTests/UserControlTests.cs b/tests/Avalonia.Controls.UnitTests/UserControlTests.cs
index c74ffab223..738c54594e 100644
--- a/tests/Avalonia.Controls.UnitTests/UserControlTests.cs
+++ b/tests/Avalonia.Controls.UnitTests/UserControlTests.cs
@@ -21,7 +21,7 @@ namespace Avalonia.Controls.UnitTests
var target = new UserControl();
var root = new TestRoot
{
- Styles = new Styles
+ Styles =
{
new Style(x => x.OfType())
{
diff --git a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
index 186d293b96..64d0efe69b 100644
--- a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
+++ b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
@@ -3,35 +3,6 @@
net461;netcoreapp1.1
Library
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- bin\Debug\Avalonia.Input.UnitTests.XML
- CS1591
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
@@ -49,6 +20,6 @@
-
+
-
\ No newline at end of file
+
diff --git a/tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs b/tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs
index 98aaa29261..3e7ff496a8 100644
--- a/tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs
+++ b/tests/Avalonia.Layout.UnitTests/FullLayoutTests.cs
@@ -197,6 +197,7 @@ namespace Avalonia.Layout.UnitTests
.Bind().ToConstant(new Avalonia.Controls.UnitTests.WindowingPlatformMock(() => windowImpl.Object));
var theme = new DefaultTheme();
+ globalStyles.Setup(x => x.IsStylesInitialized).Returns(true);
globalStyles.Setup(x => x.Styles).Returns(theme);
}
}
diff --git a/tests/Avalonia.LeakTests/ControlTests.cs b/tests/Avalonia.LeakTests/ControlTests.cs
index e0b0d4a4c0..12ac8d3af6 100644
--- a/tests/Avalonia.LeakTests/ControlTests.cs
+++ b/tests/Avalonia.LeakTests/ControlTests.cs
@@ -276,7 +276,7 @@ namespace Avalonia.LeakTests
{
Content = target = new TreeView
{
- DataTemplates = new DataTemplates
+ DataTemplates =
{
new FuncTreeDataTemplate(
x => new TextBlock { Text = x.Name },