|
|
|
@ -5,6 +5,7 @@ using System.Xml; |
|
|
|
using Avalonia.Controls; |
|
|
|
using Avalonia.Markup.Data; |
|
|
|
using Avalonia.Markup.Xaml.Styling; |
|
|
|
using Avalonia.Markup.Xaml.Templates; |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Styling; |
|
|
|
using Avalonia.UnitTests; |
|
|
|
@ -38,6 +39,57 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void DataTemplate_Can_Be_Added_To_Style_Resources() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockPlatformWrapper)) |
|
|
|
{ |
|
|
|
var xaml = @"
|
|
|
|
<UserControl xmlns='https://github.com/avaloniaui'
|
|
|
|
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>
|
|
|
|
<UserControl.Styles> |
|
|
|
<Style> |
|
|
|
<Style.Resources> |
|
|
|
<DataTemplate x:Key='dataTemplate'><TextBlock/></DataTemplate> |
|
|
|
</Style.Resources> |
|
|
|
</Style> |
|
|
|
</UserControl.Styles> |
|
|
|
</UserControl>";
|
|
|
|
var loader = new AvaloniaXamlLoader(); |
|
|
|
var userControl = (UserControl)loader.Load(xaml); |
|
|
|
var dataTemplate = (DataTemplate)((Style)userControl.Styles[0]).Resources["dataTemplate"]; |
|
|
|
|
|
|
|
Assert.NotNull(dataTemplate); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ControlTemplate_Can_Be_Added_To_Style_Resources() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockPlatformWrapper)) |
|
|
|
{ |
|
|
|
var xaml = @"
|
|
|
|
<UserControl xmlns='https://github.com/avaloniaui'
|
|
|
|
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>
|
|
|
|
<UserControl.Styles> |
|
|
|
<Style> |
|
|
|
<Style.Resources> |
|
|
|
<ControlTemplate x:Key='controlTemplate' TargetType='{x:Type Button}'> |
|
|
|
<ContentPresenter Content='{TemplateBinding Content}'/> |
|
|
|
</ControlTemplate> |
|
|
|
</Style.Resources> |
|
|
|
</Style> |
|
|
|
</UserControl.Styles> |
|
|
|
</UserControl>";
|
|
|
|
var loader = new AvaloniaXamlLoader(); |
|
|
|
var userControl = (UserControl)loader.Load(xaml); |
|
|
|
var controlTemplate = (ControlTemplate)((Style)userControl.Styles[0]).Resources["controlTemplate"]; |
|
|
|
|
|
|
|
Assert.NotNull(controlTemplate); |
|
|
|
Assert.Equal(typeof(Button), controlTemplate.TargetType); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void SolidColorBrush_Can_Be_Added_To_Style_Resources() |
|
|
|
{ |
|
|
|
|