|
|
@@ -5,11 +5,10 @@ using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Globalization;
|
|
|
using System.Linq;
|
|
|
-using System.Text;
|
|
|
using Avalonia.Controls;
|
|
|
using Avalonia.Data;
|
|
|
using Avalonia.Data.Converters;
|
|
|
-using Avalonia.Data.Core;
|
|
|
+using Avalonia.Layout;
|
|
|
using Xunit;
|
|
|
|
|
|
namespace Avalonia.Markup.UnitTests.Data
|
|
|
@@ -21,7 +20,30 @@ namespace Avalonia.Markup.UnitTests.Data
|
|
|
{
|
|
|
var textBlock = new TextBlock
|
|
|
{
|
|
|
- DataContext = new MultiBindingTests_Converters.Class1(),
|
|
|
+ DataContext = new Class1(),
|
|
|
+ };
|
|
|
+
|
|
|
+ var target = new MultiBinding
|
|
|
+ {
|
|
|
+ StringFormat = "{0:0.0} + {1:00}",
|
|
|
+ Bindings =
|
|
|
+ {
|
|
|
+ new Binding(nameof(Class1.Foo)),
|
|
|
+ new Binding(nameof(Class1.Bar)),
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ textBlock.Bind(TextBlock.TextProperty, target);
|
|
|
+
|
|
|
+ Assert.Equal("1.0 + 02", textBlock.Text);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void StringFormat_Should_Be_Applied_After_Converter()
|
|
|
+ {
|
|
|
+ var textBlock = new TextBlock
|
|
|
+ {
|
|
|
+ DataContext = new Class1(),
|
|
|
};
|
|
|
|
|
|
var target = new MultiBinding
|
|
|
@@ -30,8 +52,8 @@ namespace Avalonia.Markup.UnitTests.Data
|
|
|
Converter = new SumOfDoublesConverter(),
|
|
|
Bindings =
|
|
|
{
|
|
|
- new Binding(nameof(MultiBindingTests_Converters.Class1.Foo)),
|
|
|
- new Binding(nameof(MultiBindingTests_Converters.Class1.Bar)),
|
|
|
+ new Binding(nameof(Class1.Foo)),
|
|
|
+ new Binding(nameof(Class1.Bar)),
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -45,7 +67,7 @@ namespace Avalonia.Markup.UnitTests.Data
|
|
|
{
|
|
|
var textBlock = new TextBlock
|
|
|
{
|
|
|
- DataContext = new MultiBindingTests_Converters.Class1(),
|
|
|
+ DataContext = new Class1(),
|
|
|
};
|
|
|
|
|
|
var target = new MultiBinding
|
|
|
@@ -54,12 +76,12 @@ namespace Avalonia.Markup.UnitTests.Data
|
|
|
Converter = new SumOfDoublesConverter(),
|
|
|
Bindings =
|
|
|
{
|
|
|
- new Binding(nameof(MultiBindingTests_Converters.Class1.Foo)),
|
|
|
- new Binding(nameof(MultiBindingTests_Converters.Class1.Bar)),
|
|
|
+ new Binding(nameof(Class1.Foo)),
|
|
|
+ new Binding(nameof(Class1.Bar)),
|
|
|
}
|
|
|
};
|
|
|
|
|
|
- textBlock.Bind(TextBlock.WidthProperty, target);
|
|
|
+ textBlock.Bind(Layoutable.WidthProperty, target);
|
|
|
|
|
|
Assert.Equal(3.0, textBlock.Width);
|
|
|
}
|