Browse Source

Merge branch 'master' into feature/ApplicationOnStartup

pull/2442/head
Steven Kirk 7 years ago
committed by GitHub
parent
commit
5e52d4860b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      .gitmodules
  2. 7
      .ncrunch/Avalonia.Animation.UnitTests.net47.v3.ncrunchproject
  3. 7
      .ncrunch/Avalonia.Animation.UnitTests.netcoreapp2.0.v3.ncrunchproject
  4. 3
      .ncrunch/Avalonia.Animation.v3.ncrunchproject
  5. 7
      .ncrunch/Avalonia.Base.UnitTests.net47.v3.ncrunchproject
  6. 7
      .ncrunch/Avalonia.Base.UnitTests.netcoreapp2.0.v3.ncrunchproject
  7. 3
      .ncrunch/Avalonia.Base.v3.ncrunchproject
  8. 3
      .ncrunch/Avalonia.Benchmarks.v3.ncrunchproject
  9. 5
      .ncrunch/Avalonia.Build.Tasks.v3.ncrunchproject
  10. 7
      .ncrunch/Avalonia.Controls.DataGrid.v3.ncrunchproject
  11. 7
      .ncrunch/Avalonia.Controls.UnitTests.net47.v3.ncrunchproject
  12. 7
      .ncrunch/Avalonia.Controls.UnitTests.netcoreapp2.0.v3.ncrunchproject
  13. 3
      .ncrunch/Avalonia.Controls.v3.ncrunchproject
  14. 7
      .ncrunch/Avalonia.Designer.HostApp.net461.v3.ncrunchproject
  15. 7
      .ncrunch/Avalonia.Designer.HostApp.netcoreapp2.0.v3.ncrunchproject
  16. 3
      .ncrunch/Avalonia.DesignerSupport.v3.ncrunchproject
  17. 7
      .ncrunch/Avalonia.DesktopRuntime.net461.v3.ncrunchproject
  18. 7
      .ncrunch/Avalonia.DesktopRuntime.netcoreapp2.0.v3.ncrunchproject
  19. 3
      .ncrunch/Avalonia.Diagnostics.v3.ncrunchproject
  20. 3
      .ncrunch/Avalonia.Direct2D1.RenderTests.v3.ncrunchproject
  21. 3
      .ncrunch/Avalonia.Direct2D1.UnitTests.v3.ncrunchproject
  22. 3
      .ncrunch/Avalonia.Direct2D1.v3.ncrunchproject
  23. 6
      .ncrunch/Avalonia.Gtk3.v3.ncrunchproject
  24. 7
      .ncrunch/Avalonia.Input.UnitTests.net47.v3.ncrunchproject
  25. 7
      .ncrunch/Avalonia.Input.UnitTests.netcoreapp2.0.v3.ncrunchproject
  26. 3
      .ncrunch/Avalonia.Input.v3.ncrunchproject
  27. 3
      .ncrunch/Avalonia.Interactivity.UnitTests.v3.ncrunchproject
  28. 3
      .ncrunch/Avalonia.Interactivity.v3.ncrunchproject
  29. 3
      .ncrunch/Avalonia.Layout.UnitTests.v3.ncrunchproject
  30. 3
      .ncrunch/Avalonia.Layout.v3.ncrunchproject
  31. 3
      .ncrunch/Avalonia.LeakTests.v3.ncrunchproject
  32. 3
      .ncrunch/Avalonia.LinuxFramebuffer.v3.ncrunchproject
  33. 3
      .ncrunch/Avalonia.Logging.Serilog.v3.ncrunchproject
  34. 7
      .ncrunch/Avalonia.Markup.UnitTests.net47.v3.ncrunchproject
  35. 7
      .ncrunch/Avalonia.Markup.UnitTests.netcoreapp2.0.v3.ncrunchproject
  36. 7
      .ncrunch/Avalonia.Markup.Xaml.UnitTests.net47.v3.ncrunchproject
  37. 7
      .ncrunch/Avalonia.Markup.Xaml.UnitTests.netcoreapp2.0.v3.ncrunchproject
  38. 3
      .ncrunch/Avalonia.Markup.Xaml.v3.ncrunchproject
  39. 3
      .ncrunch/Avalonia.Markup.v3.ncrunchproject
  40. 7
      .ncrunch/Avalonia.OpenGL.v3.ncrunchproject
  41. 7
      .ncrunch/Avalonia.ReactiveUI.UnitTests.v3.ncrunchproject
  42. 3
      .ncrunch/Avalonia.ReactiveUI.v3.ncrunchproject
  43. 3
      .ncrunch/Avalonia.Skia.RenderTests.v3.ncrunchproject
  44. 7
      .ncrunch/Avalonia.Skia.UnitTests.v3.ncrunchproject
  45. 6
      .ncrunch/Avalonia.Skia.v3.ncrunchproject
  46. 7
      .ncrunch/Avalonia.Styling.UnitTests.net47.v3.ncrunchproject
  47. 7
      .ncrunch/Avalonia.Styling.UnitTests.netcoreapp2.0.v3.ncrunchproject
  48. 3
      .ncrunch/Avalonia.Styling.v3.ncrunchproject
  49. 3
      .ncrunch/Avalonia.Themes.Default.v3.ncrunchproject
  50. 3
      .ncrunch/Avalonia.UnitTests.v3.ncrunchproject
  51. 7
      .ncrunch/Avalonia.Visuals.UnitTests.net47.v3.ncrunchproject
  52. 7
      .ncrunch/Avalonia.Visuals.UnitTests.netcoreapp2.0.v3.ncrunchproject
  53. 3
      .ncrunch/Avalonia.Visuals.v3.ncrunchproject
  54. 3
      .ncrunch/Avalonia.Win32.Interop.v3.ncrunchproject
  55. 3
      .ncrunch/Avalonia.Win32.v3.ncrunchproject
  56. 7
      .ncrunch/Avalonia.X11.v3.ncrunchproject
  57. 8
      .ncrunch/Avalonia.netcoreapp2.0.v3.ncrunchproject
  58. 8
      .ncrunch/Avalonia.netstandard2.0.v3.ncrunchproject
  59. 3
      .ncrunch/Direct3DInteropSample.v3.ncrunchproject
  60. 7
      .ncrunch/PlatformSanityChecks.v3.ncrunchproject
  61. 4
      build/EmbedXaml.props
  62. 5
      build/SampleApp.props
  63. 6
      dirs.proj
  64. 2
      nukebuild/Numerge
  65. 39
      packages/Avalonia/AvaloniaBuildTasks.targets
  66. 13
      samples/BindingDemo/App.xaml
  67. 1
      samples/BindingDemo/BindingDemo.csproj
  68. 3
      samples/BindingDemo/MainWindow.xaml
  69. 4
      samples/BindingDemo/TestItemView.xaml
  70. 1
      samples/ControlCatalog.NetCore/ControlCatalog.NetCore.csproj
  71. 2
      samples/ControlCatalog/App.xaml
  72. 1
      samples/ControlCatalog/MainView.xaml
  73. 23
      samples/ControlCatalog/MainView.xaml.cs
  74. 12
      samples/ControlCatalog/MainWindow.xaml
  75. 15
      samples/ControlCatalog/MainWindow.xaml.cs
  76. 9
      samples/ControlCatalog/Pages/ButtonPage.xaml.cs
  77. 2
      samples/ControlCatalog/Pages/ButtonSpinnerPage.xaml.cs
  78. 10
      samples/ControlCatalog/Pages/NotificationsPage.xaml
  79. 18
      samples/ControlCatalog/Pages/NotificationsPage.xaml.cs
  80. 4
      samples/ControlCatalog/SideBar.xaml
  81. 44
      samples/ControlCatalog/ViewModels/MainWindowViewModel.cs
  82. 30
      samples/ControlCatalog/ViewModels/NotificationViewModel.cs
  83. 19
      samples/ControlCatalog/Views/CustomNotificationView.xaml
  84. 18
      samples/ControlCatalog/Views/CustomNotificationView.xaml.cs
  85. 4
      samples/RemoteDemo/RemoteDemo.csproj
  86. 15
      samples/RenderDemo/App.xaml
  87. 2
      samples/RenderDemo/MainWindow.xaml
  88. 7
      samples/RenderDemo/Pages/AnimationsPage.xaml
  89. 16
      samples/RenderDemo/Pages/ClippingPage.xaml
  90. 6
      samples/RenderDemo/Pages/DrawingPage.xaml
  91. 1
      samples/RenderDemo/RenderDemo.csproj
  92. 2
      samples/RenderDemo/SideBar.xaml
  93. 13
      samples/VirtualizationDemo/App.xaml
  94. 2
      samples/VirtualizationDemo/MainWindow.xaml
  95. 1
      samples/VirtualizationDemo/VirtualizationDemo.csproj
  96. 29
      src/Avalonia.Animation/Animatable.cs
  97. 5
      src/Avalonia.Animation/Properties/AssemblyInfo.cs
  98. 11
      src/Avalonia.Animation/TransitionInstance.cs
  99. 21
      src/Avalonia.Base/AvaloniaProperty.cs
  100. 5
      src/Avalonia.Base/Data/Core/ExpressionParseException.cs

3
.gitmodules

@ -4,3 +4,6 @@
[submodule "nukebuild/Numerge"]
path = nukebuild/Numerge
url = https://github.com/kekekeks/Numerge.git
[submodule "src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github"]
path = src/Markup/Avalonia.Markup.Xaml/XamlIl/xamlil.github
url = https://github.com/kekekeks/XamlIl.git

7
.ncrunch/Avalonia.Animation.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Animation.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Animation.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Base.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Base.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Base.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Benchmarks.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

5
.ncrunch/Avalonia.Build.Tasks.v3.ncrunchproject

@ -0,0 +1,5 @@
<ProjectConfiguration>
<Settings>
<IgnoreThisComponentCompletely>True</IgnoreThisComponentCompletely>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Controls.DataGrid.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Controls.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Controls.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Controls.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Designer.HostApp.net461.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Designer.HostApp.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.DesignerSupport.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.DesktopRuntime.net461.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.DesktopRuntime.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Diagnostics.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Direct2D1.RenderTests.v3.ncrunchproject

@ -4,6 +4,9 @@
<Value>..\TestFiles\Direct2D1\**.*</Value>
</AdditionalFilesToIncludeForProject>
<DefaultTestTimeout>3000</DefaultTestTimeout>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Direct2D1.UnitTests.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Direct2D1.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

6
.ncrunch/Avalonia.Gtk3.v3.ncrunchproject

@ -1,3 +1,7 @@
<ProjectConfiguration>
<Settings />
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Input.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Input.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Input.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Interactivity.UnitTests.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Interactivity.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Layout.UnitTests.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Layout.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.LeakTests.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.LinuxFramebuffer.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Logging.Serilog.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Markup.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Markup.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Markup.Xaml.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Markup.Xaml.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Markup.Xaml.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Markup.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.OpenGL.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.ReactiveUI.UnitTests.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.ReactiveUI.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Skia.RenderTests.v3.ncrunchproject

@ -4,6 +4,9 @@
<Value>..\TestFiles\Skia\**.*</Value>
</AdditionalFilesToIncludeForProject>
<DefaultTestTimeout>3000</DefaultTestTimeout>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Skia.UnitTests.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

6
.ncrunch/Avalonia.Skia.v3.ncrunchproject

@ -1,3 +1,7 @@
<ProjectConfiguration>
<Settings />
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Styling.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Styling.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Styling.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Themes.Default.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.UnitTests.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Visuals.UnitTests.net47.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.Visuals.UnitTests.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Visuals.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Win32.Interop.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Avalonia.Win32.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/Avalonia.X11.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

8
.ncrunch/Avalonia.netcoreapp2.0.v3.ncrunchproject

@ -0,0 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>DerivedFilesIncludedInWorkspace</Value>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

8
.ncrunch/Avalonia.netstandard2.0.v3.ncrunchproject

@ -0,0 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>DerivedFilesIncludedInWorkspace</Value>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

3
.ncrunch/Direct3DInteropSample.v3.ncrunchproject

@ -1,5 +1,8 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
<PreviouslyBuiltSuccessfully>True</PreviouslyBuiltSuccessfully>
</Settings>
</ProjectConfiguration>

7
.ncrunch/PlatformSanityChecks.v3.ncrunchproject

@ -0,0 +1,7 @@
<ProjectConfiguration>
<Settings>
<HiddenComponentWarnings>
<Value>MissingOrIgnoredProjectReference</Value>
</HiddenComponentWarnings>
</Settings>
</ProjectConfiguration>

4
build/EmbedXaml.props

@ -4,8 +4,8 @@
<Compile Update="**\*.xaml.cs">
<DependentUpon>%(Filename)</DependentUpon>
</Compile>
<EmbeddedResource Include="**\*.xaml">
<AvaloniaResource Include="**\*.xaml">
<SubType>Designer</SubType>
</EmbeddedResource>
</AvaloniaResource>
</ItemGroup>
</Project>

5
build/SampleApp.props

@ -5,4 +5,9 @@
<ItemGroup>
<ProjectReference Include="$(MSBuildThisFileDirectory)..\src\Avalonia.Desktop\Avalonia.Desktop.csproj" />
</ItemGroup>
<Target Name="GatherReferences" AfterTargets="CoreCompile">
<WriteLinesToFile File="$(TargetPath).refs"
Lines="@(ReferencePathWithRefAssemblies)"
Overwrite="true" />
</Target>
</Project>

6
dirs.proj

@ -6,12 +6,12 @@
<ProjectReference Include="packages/**/*.*proj" />
<ProjectReference Remove="**/*.shproj" />
<ProjectReference Remove="src/Markup/Avalonia.Markup.Xaml/PortableXaml/**/*.*proj" />
<ProjectReference Remove="src/Markup/Avalonia.Markup.Xaml/XamlIl/**/*.*proj" />
</ItemGroup>
<ItemGroup Condition="!Exists('$(MSBuildExtensionsPath)\Xamarin\Android')">
<!-- Disabled on CI because of ancient MSBuild project format -->
<ItemGroup>
<ProjectReference Remove="src/Android/**/*.*proj" />
<ProjectReference Remove="samples/ControlCatalog.Android/ControlCatalog.Android.csproj" />
</ItemGroup>
<ItemGroup Condition="!Exists('$(MSBuildExtensionsPath)\Xamarin\iOS')">
<ProjectReference Remove="src/iOS/**/*.*proj" />
<ProjectReference Remove="samples/ControlCatalog.iOS/ControlCatalog.iOS.csproj" />
</ItemGroup>

2
nukebuild/Numerge

@ -1 +1 @@
Subproject commit aef10ae67dc55c95f49b52a505a0be33bfa297a5
Subproject commit 4464343aef5c8ab7a42fcb20a483a6058199f8b8

39
packages/Avalonia/AvaloniaBuildTasks.targets

@ -8,6 +8,10 @@
AssemblyFile="$(AvaloniaBuildTasksLocation)"
/>
<UsingTask TaskName="CompileAvaloniaXamlTask"
AssemblyFile="$(AvaloniaBuildTasksLocation)"
/>
<Target Name="AddAvaloniaResources" BeforeTargets="ResolveReferences">
<PropertyGroup>
@ -20,11 +24,15 @@
</ItemGroup>
</Target>
<PropertyGroup>
<BuildAvaloniaResourcesDependsOn>$(BuildAvaloniaResourcesDependsOn);AddAvaloniaResources;ResolveReferences</BuildAvaloniaResourcesDependsOn>
</PropertyGroup>
<Target Name="GenerateAvaloniaResources"
BeforeTargets="CoreCompile;CoreResGen"
Inputs="@(AvaloniaResource);$(MSBuildAllProjects)"
Outputs="$(AvaloniaResourcesTemporaryFilePath)"
DependsOnTargets="$(BuildAvaloniaResourcesDependsOn);AddAvaloniaResources;ResolveReferences">
DependsOnTargets="$(BuildAvaloniaResourcesDependsOn)">
<GenerateAvaloniaResourcesTask
Condition="'$(_AvaloniaUseExternalMSBuild)' != 'true'"
Output="$(AvaloniaResourcesTemporaryFilePath)"
@ -33,9 +41,36 @@
EmbeddedResources="@(EmbeddedResources)"/>
<Exec
Condition="'$(_AvaloniaUseExternalMSBuild)' == 'true'"
Command="dotnet msbuild /nodereuse:false $(MSBuildProjectFile) /t:GenerateAvaloniaResources /p:_AvaloniaForceInternalMSBuild=true /p:Configuration=$(Configuration)"/>
Command="dotnet msbuild /nodereuse:false $(MSBuildProjectFile) /t:GenerateAvaloniaResources /p:_AvaloniaForceInternalMSBuild=true /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /p:BuildProjectReferences=false"/>
</Target>
<Target
Name="CompileAvaloniaXaml"
AfterTargets="AfterCompile"
Condition="Exists('@(IntermediateAssembly)') And $(DesignTimeBuild) != true And $(EnableAvaloniaXamlCompilation) != false"
>
<PropertyGroup>
<AvaloniaXamlReferencesTemporaryFilePath Condition="'$(AvaloniaXamlReferencesTemporaryFilePath)' == ''">$(IntermediateOutputPath)/Avalonia/references</AvaloniaXamlReferencesTemporaryFilePath>
<AvaloniaXamlOriginalCopyFilePath Condition="'$(AvaloniaXamlOriginalCopyFilePath)' == ''">$(IntermediateOutputPath)/Avalonia/original.dll</AvaloniaXamlOriginalCopyFilePath>
</PropertyGroup>
<WriteLinesToFile
Condition="'$(_AvaloniaForceInternalMSBuild)' != 'true'"
File="$(AvaloniaXamlReferencesTemporaryFilePath)"
Lines="@(ReferencePathWithRefAssemblies)"
Overwrite="true" />
<CompileAvaloniaXamlTask
Condition="'$(_AvaloniaUseExternalMSBuild)' != 'true'"
AssemblyFile="@(IntermediateAssembly)"
ReferencesFilePath="$(AvaloniaXamlReferencesTemporaryFilePath)"
OriginalCopyPath="$(AvaloniaXamlOriginalCopyFilePath)"
ProjectDirectory="$(MSBuildProjectDirectory)"
/>
<Exec
Condition="'$(_AvaloniaUseExternalMSBuild)' == 'true'"
Command="dotnet msbuild /nodereuse:false $(MSBuildProjectFile) /t:CompileAvaloniaXaml /p:_AvaloniaForceInternalMSBuild=true /p:Configuration=$(Configuration) /p:TargetFramework=$(TargetFramework) /p:BuildProjectReferences=false"/>
</Target>
<ItemGroup>
<UpToDateCheckInput Include="@(AvaloniaResource)" />

13
samples/BindingDemo/App.xaml

@ -1,6 +1,9 @@
<Application xmlns="https://github.com/avaloniaui">
<Application.Styles>
<StyleInclude Source="resm:Avalonia.Themes.Default.DefaultTheme.xaml?assembly=Avalonia.Themes.Default"/>
<StyleInclude Source="resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default"/>
</Application.Styles>
<Application
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="BindingDemo.App">
<Application.Styles>
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
</Application.Styles>
</Application>

1
samples/BindingDemo/BindingDemo.csproj

@ -14,4 +14,5 @@
<Import Project="..\..\build\ReactiveUI.props" />
<Import Condition="'$(TargetFramework)'=='net461'" Project="..\..\build\NetFX.props" />
<Import Project="..\..\build\ReferenceCoreLibraries.props" />
<Import Project="..\..\build\BuildTargets.targets" />
</Project>

3
samples/BindingDemo/MainWindow.xaml

@ -1,6 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
xmlns:vm="clr-namespace:BindingDemo.ViewModels"
x:Class="BindingDemo.MainWindow"
xmlns:vm="clr-namespace:BindingDemo.ViewModels"
xmlns:local="clr-namespace:BindingDemo"
Title="AvaloniaUI Bindings Test"
Width="800"

4
samples/BindingDemo/TestItemView.xaml

@ -1,4 +1,6 @@
<UserControl xmlns="https://github.com/avaloniaui">
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
x:Class="BindingDemo.TestItemView">
<StackPanel>
<TextBlock Classes="h1" Text="{Binding StringValue}"/>
<TextBox Text="{Binding Detail}" AcceptsReturn="True"/>

1
samples/ControlCatalog.NetCore/ControlCatalog.NetCore.csproj

@ -3,6 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
<ItemGroup>

2
samples/ControlCatalog/App.xaml

@ -4,7 +4,7 @@
<Application.Styles>
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
<StyleInclude Source="resm:Avalonia.Controls.DataGrid.Themes.Default.xaml?assembly=Avalonia.Controls.DataGrid"/>
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Default.xaml"/>
<Style Selector="TextBlock.h1">
<Setter Property="FontSize" Value="{DynamicResource FontSizeLarge}"/>
<Setter Property="FontWeight" Value="Medium"/>

1
samples/ControlCatalog/MainView.xaml

@ -29,6 +29,7 @@
<TabItem Header="LayoutTransformControl"><pages:LayoutTransformControlPage/></TabItem>
<TabItem Header="ListBox"><pages:ListBoxPage/></TabItem>
<TabItem Header="Menu"><pages:MenuPage/></TabItem>
<TabItem Header="Notifications"><pages:NotificationsPage/></TabItem>
<TabItem Header="NumericUpDown"><pages:NumericUpDownPage/></TabItem>
<TabItem Header="ProgressBar"><pages:ProgressBarPage/></TabItem>
<TabItem Header="RadioButton"><pages:RadioButtonPage/></TabItem>

23
samples/ControlCatalog/MainView.xaml.cs

@ -1,8 +1,11 @@
using System;
using System.Collections;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Markup.Xaml.MarkupExtensions;
using Avalonia.Markup.Xaml.Styling;
using Avalonia.Markup.Xaml.XamlIl;
using Avalonia.Platform;
using ControlCatalog.Pages;
@ -12,7 +15,7 @@ namespace ControlCatalog
{
public MainView()
{
this.InitializeComponent();
AvaloniaXamlLoader.Load(this);
if (AvaloniaLocator.Current.GetService<IRuntimePlatform>().GetRuntimeInfo().IsDesktop)
{
IList tabItems = ((IList)this.FindControl<TabControl>("Sidebar").Items);
@ -28,8 +31,17 @@ namespace ControlCatalog
});
}
var light = AvaloniaXamlLoader.Parse<StyleInclude>(@"<StyleInclude xmlns='https://github.com/avaloniaui' Source='resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default'/>");
var dark = AvaloniaXamlLoader.Parse<StyleInclude>(@"<StyleInclude xmlns='https://github.com/avaloniaui' Source='resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default'/>");
var light = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
{
Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default")
};
var dark = new StyleInclude(new Uri("resm:Styles?assembly=ControlCatalog"))
{
Source = new Uri("resm:Avalonia.Themes.Default.Accents.BaseDark.xaml?assembly=Avalonia.Themes.Default")
};
var themes = this.Find<ComboBox>("Themes");
themes.SelectionChanged += (sender, e) =>
{
@ -45,10 +57,5 @@ namespace ControlCatalog
};
Styles.Add(light);
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}

12
samples/ControlCatalog/MainWindow.xaml

@ -1,8 +1,18 @@
<Window xmlns="https://github.com/avaloniaui" MinWidth="500" MinHeight="300"
xmlns:pages="clr-namespace:ControlCatalog.Pages"
Title="Avalonia Control Gallery"
Icon="/Assets/test_icon.ico"
xmlns:local="clr-namespace:ControlCatalog"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:ControlCatalog.ViewModels"
xmlns:v="clr-namespace:ControlCatalog.Views"
x:Class="ControlCatalog.MainWindow">
<local:MainView/>
<Window.DataTemplates>
<DataTemplate DataType="vm:NotificationViewModel">
<v:CustomNotificationView />
</DataTemplate>
</Window.DataTemplates>
<Panel>
<local:MainView/>
</Panel>
</Window>

15
samples/ControlCatalog/MainWindow.xaml.cs

@ -1,18 +1,33 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.Notifications;
using Avalonia.Controls.Primitives;
using Avalonia.Markup.Xaml;
using Avalonia.Threading;
using ControlCatalog.ViewModels;
using System;
using System.Threading.Tasks;
namespace ControlCatalog
{
public class MainWindow : Window
{
private WindowNotificationManager _notificationArea;
public MainWindow()
{
this.InitializeComponent();
this.AttachDevTools();
//Renderer.DrawFps = true;
//Renderer.DrawDirtyRects = Renderer.DrawFps = true;
_notificationArea = new WindowNotificationManager(this)
{
Position = NotificationPosition.TopRight,
MaxItems = 3
};
DataContext = new MainWindowViewModel(_notificationArea);
}
private void InitializeComponent()

9
samples/ControlCatalog/Pages/ButtonPage.xaml.cs

@ -5,14 +5,5 @@ namespace ControlCatalog.Pages
{
public class ButtonPage : UserControl
{
public ButtonPage()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}

2
samples/ControlCatalog/Pages/ButtonSpinnerPage.xaml.cs

@ -18,7 +18,7 @@ namespace ControlCatalog.Pages
AvaloniaXamlLoader.Load(this);
}
private void OnSpin(object sender, SpinEventArgs e)
public void OnSpin(object sender, SpinEventArgs e)
{
var spinner = (ButtonSpinner)sender;
var txtBox = (TextBlock)spinner.Content;

10
samples/ControlCatalog/Pages/NotificationsPage.xaml

@ -0,0 +1,10 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.Pages.NotificationsPage">
<StackPanel Orientation="Vertical" Spacing="4" HorizontalAlignment="Left">
<TextBlock Classes="h1">Notifications</TextBlock>
<Button Content="Show Standard Managed Notification" Command="{Binding ShowManagedNotificationCommand}" />
<Button Content="Show Custom Managed Notification" Command="{Binding ShowCustomManagedNotificationCommand}" />
<Button Content="Show Native Notification" Command="{Binding ShowNativeNotificationCommand}" />
</StackPanel>
</UserControl>

18
samples/ControlCatalog/Pages/NotificationsPage.xaml.cs

@ -0,0 +1,18 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ControlCatalog.Pages
{
public class NotificationsPage : UserControl
{
public NotificationsPage()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}

4
samples/ControlCatalog/SideBar.xaml

@ -1,6 +1,6 @@
<Styles xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.SideBar">
>
<Design.PreviewWith>
<Border Padding="20">
<TabControl Classes="sidebar">
@ -56,7 +56,7 @@
<Setter Property="Opacity" Value="0.5"/>
<Setter Property="Transitions">
<Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.5"/>
<DoubleTransition Property="Opacity" Duration="0:0:0.150"/>
</Transitions>
</Setter>
</Style>

44
samples/ControlCatalog/ViewModels/MainWindowViewModel.cs

@ -0,0 +1,44 @@
using System.Reactive;
using Avalonia.Controls.Notifications;
using Avalonia.Diagnostics.ViewModels;
using ReactiveUI;
namespace ControlCatalog.ViewModels
{
class MainWindowViewModel : ViewModelBase
{
private IManagedNotificationManager _notificationManager;
public MainWindowViewModel(IManagedNotificationManager notificationManager)
{
_notificationManager = notificationManager;
ShowCustomManagedNotificationCommand = ReactiveCommand.Create(() =>
{
NotificationManager.Show(new NotificationViewModel(NotificationManager) { Title = "Hey There!", Message = "Did you know that Avalonia now supports Custom In-Window Notifications?" });
});
ShowManagedNotificationCommand = ReactiveCommand.Create(() =>
{
NotificationManager.Show(new Avalonia.Controls.Notifications.Notification("Welcome", "Avalonia now supports Notifications.", NotificationType.Information));
});
ShowNativeNotificationCommand = ReactiveCommand.Create(() =>
{
NotificationManager.Show(new Avalonia.Controls.Notifications.Notification("Error", "Native Notifications are not quite ready. Coming soon.", NotificationType.Error));
});
}
public IManagedNotificationManager NotificationManager
{
get { return _notificationManager; }
set { this.RaiseAndSetIfChanged(ref _notificationManager, value); }
}
public ReactiveCommand<Unit, Unit> ShowCustomManagedNotificationCommand { get; }
public ReactiveCommand<Unit, Unit> ShowManagedNotificationCommand { get; }
public ReactiveCommand<Unit, Unit> ShowNativeNotificationCommand { get; }
}
}

30
samples/ControlCatalog/ViewModels/NotificationViewModel.cs

@ -0,0 +1,30 @@
using System.Reactive;
using Avalonia.Controls.Notifications;
using ReactiveUI;
namespace ControlCatalog.ViewModels
{
public class NotificationViewModel
{
public NotificationViewModel(INotificationManager manager)
{
YesCommand = ReactiveCommand.Create(() =>
{
manager.Show(new Avalonia.Controls.Notifications.Notification("Avalonia Notifications", "Start adding notifications to your app today."));
});
NoCommand = ReactiveCommand.Create(() =>
{
manager.Show(new Avalonia.Controls.Notifications.Notification("Avalonia Notifications", "Start adding notifications to your app today. To find out more visit..."));
});
}
public string Title { get; set; }
public string Message { get; set; }
public ReactiveCommand<Unit, Unit> YesCommand { get; }
public ReactiveCommand<Unit, Unit> NoCommand { get; }
}
}

19
samples/ControlCatalog/Views/CustomNotificationView.xaml

@ -0,0 +1,19 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.Views.CustomNotificationView">
<Border Padding="12" MinHeight="20" Background="DodgerBlue">
<Grid ColumnDefinitions="Auto,*">
<Panel Margin="0,0,12,0" Width="25" Height="25" VerticalAlignment="Top">
<TextBlock Text="&#xE115;" FontFamily="Segoe UI Symbol" FontSize="20" TextAlignment="Center" VerticalAlignment="Center"/>
</Panel>
<DockPanel Grid.Column="1">
<TextBlock DockPanel.Dock="Top" Text="{Binding Title}" FontWeight="Medium" />
<StackPanel Spacing="20" DockPanel.Dock="Bottom" Margin="0,8,0,0" Orientation="Horizontal">
<Button Content="No" DockPanel.Dock="Right" NotificationCard.CloseOnClick="True" Command="{Binding NoCommand}" Margin="0,0,8,0" />
<Button Content="Yes" DockPanel.Dock="Right" NotificationCard.CloseOnClick="True" Command="{Binding YesCommand}" />
</StackPanel>
<TextBlock Text="{Binding Message}" TextWrapping="Wrap" Opacity=".8" Margin="0,8,0,0"/>
</DockPanel>
</Grid>
</Border>
</UserControl>

18
samples/ControlCatalog/Views/CustomNotificationView.xaml.cs

@ -0,0 +1,18 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ControlCatalog.Views
{
public class CustomNotificationView : UserControl
{
public CustomNotificationView()
{
this.InitializeComponent();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}

4
samples/RemoteDemo/RemoteDemo.csproj

@ -1,14 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\ControlCatalog\ControlCatalog.csproj" />
</ItemGroup>
<Import Project="..\..\build\SampleApp.props" />
<Import Project="..\..\build\ReferenceCoreLibraries.props" />
<Import Project="..\..\build\BuildTargets.targets" />
</Project>

15
samples/RenderDemo/App.xaml

@ -1,7 +1,10 @@
<Application xmlns="https://github.com/avaloniaui">
<Application.Styles>
<StyleInclude Source="resm:Avalonia.Themes.Default.DefaultTheme.xaml?assembly=Avalonia.Themes.Default"/>
<StyleInclude Source="resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default"/>
<StyleInclude Source="resm:RenderDemo.SideBar.xaml"/>
</Application.Styles>
<Application
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="RenderDemo.App">
<Application.Styles>
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
<StyleInclude Source="avares://RenderDemo/SideBar.xaml"/>
</Application.Styles>
</Application>

2
samples/RenderDemo/MainWindow.xaml

@ -1,4 +1,6 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="RenderDemo.MainWindow"
Title="AvaloniaUI Rendering Test"
xmlns:pages="clr-namespace:RenderDemo.Pages"
Width="800"

7
samples/RenderDemo/Pages/AnimationsPage.xaml

@ -1,6 +1,7 @@
<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="RenderDemo.Pages.AnimationsPage">
<UserControl.Styles>
<Styles>
<Styles.Resources>

16
samples/RenderDemo/Pages/ClippingPage.xaml

@ -1,9 +1,11 @@
<UserControl
xmlns="https://github.com/avaloniaui">
<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="RenderDemo.Pages.ClippingPage">
<Grid ColumnDefinitions="Auto" RowDefinitions="Auto,Auto">
<Grid.Styles>
<Styles>
<Style Selector="Border#clipped :pointerover">
<Style Selector="Border#clipped:pointerover">
<Setter Property="Border.Background" Value="Crimson"/>
</Style>
<Style Selector="Border#clipChild">
@ -17,10 +19,10 @@ xmlns="https://github.com/avaloniaui">
</Style>
</Styles>
</Grid.Styles>
<Border Name="clipped"
Background="Yellow"
Width="100"
Height="100"
<Border Name="clipped"
Background="Yellow"
Width="100"
Height="100"
Clip="M 58.625 0.07421875
C 50.305778 0.26687364 42.411858 7.0346526 41.806641 15.595703
C 42.446442 22.063923 39.707425 13.710754 36.982422 12.683594

6
samples/RenderDemo/Pages/DrawingPage.xaml

@ -1,5 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="RenderDemo.Pages.DrawingPage">
<UserControl.Styles>
<Style>
<Style.Resources>

1
samples/RenderDemo/RenderDemo.csproj

@ -14,4 +14,5 @@
<Import Project="..\..\build\ReactiveUI.props" />
<Import Condition="'$(TargetFramework)'=='net461'" Project="..\..\build\NetFX.props" />
<Import Project="..\..\build\ReferenceCoreLibraries.props" />
<Import Project="..\..\build\BuildTargets.targets" />
</Project>

2
samples/RenderDemo/SideBar.xaml

@ -47,7 +47,7 @@
<Setter Property="Opacity" Value="0.5"/>
<Setter Property="Transitions">
<Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.5"/>
<DoubleTransition Property="Opacity" Duration="0:0:0.150"/>
</Transitions>
</Setter>
</Style>

13
samples/VirtualizationDemo/App.xaml

@ -1,6 +1,9 @@
<Application xmlns="https://github.com/avaloniaui">
<Application.Styles>
<StyleInclude Source="resm:Avalonia.Themes.Default.DefaultTheme.xaml?assembly=Avalonia.Themes.Default"/>
<StyleInclude Source="resm:Avalonia.Themes.Default.Accents.BaseLight.xaml?assembly=Avalonia.Themes.Default"/>
</Application.Styles>
<Application
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="VirtualizationDemo.App">
<Application.Styles>
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
</Application.Styles>
</Application>

2
samples/VirtualizationDemo/MainWindow.xaml

@ -1,4 +1,6 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="VirtualizationDemo.MainWindow"
Title="AvaloniaUI Virtualization Test"
Width="800"
Height="600">

1
samples/VirtualizationDemo/VirtualizationDemo.csproj

@ -14,4 +14,5 @@
<Import Project="..\..\build\ReactiveUI.props" />
<Import Condition="'$(TargetFramework)'=='net461'" Project="..\..\build\NetFX.props" />
<Import Project="..\..\build\ReferenceCoreLibraries.props" />
<Import Project="..\..\build\BuildTargets.targets" />
</Project>

29
src/Avalonia.Animation/Animatable.cs

@ -7,7 +7,7 @@ using System.Linq;
using System.Reactive.Linq;
using Avalonia.Collections;
using Avalonia.Data;
using Avalonia.Animation.Animators;
using Avalonia.Animation.Animators;
namespace Avalonia.Animation
{
@ -36,13 +36,27 @@ namespace Avalonia.Animation
private Transitions _transitions;
private Dictionary<AvaloniaProperty, IDisposable> _previousTransitions;
/// <summary>
/// Gets or sets the property transitions for the control.
/// </summary>
public Transitions Transitions
{
get { return _transitions ?? (_transitions = new Transitions()); }
set { SetAndRaise(TransitionsProperty, ref _transitions, value); }
get
{
if (_transitions == null)
_transitions = new Transitions();
if (_previousTransitions == null)
_previousTransitions = new Dictionary<AvaloniaProperty, IDisposable>();
return _transitions;
}
set
{
SetAndRaise(TransitionsProperty, ref _transitions, value);
}
}
/// <summary>
@ -52,13 +66,18 @@ namespace Avalonia.Animation
/// <param name="e">The event args.</param>
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs e)
{
if (e.Priority != BindingPriority.Animation && Transitions != null)
if (e.Priority != BindingPriority.Animation && Transitions != null && _previousTransitions != null)
{
var match = Transitions.FirstOrDefault(x => x.Property == e.Property);
if (match != null)
{
match.Apply(this, Clock ?? Avalonia.Animation.Clock.GlobalClock, e.OldValue, e.NewValue);
if (_previousTransitions.TryGetValue(e.Property, out var dispose))
dispose.Dispose();
var instance = match.Apply(this, Clock ?? Avalonia.Animation.Clock.GlobalClock, e.OldValue, e.NewValue);
_previousTransitions[e.Property] = instance;
}
}
}

5
src/Avalonia.Animation/Properties/AssemblyInfo.cs

@ -3,7 +3,10 @@
using Avalonia.Metadata;
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation")]
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation.Easings")]
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation.Animators")]
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation.Animators")]
[assembly: InternalsVisibleTo("Avalonia.LeakTests")]

11
src/Avalonia.Animation/TransitionInstance.cs

@ -30,13 +30,16 @@ namespace Avalonia.Animation
{
var interpVal = (double)t.Ticks / _duration.Ticks;
if (interpVal > 1d || interpVal < 0d)
// Clamp interpolation value.
if (interpVal >= 1d | interpVal < 0d)
{
PublishNext(1d);
PublishCompleted();
return;
}
PublishNext(interpVal);
else
{
PublishNext(interpVal);
}
}
protected override void Unsubscribed()

21
src/Avalonia.Base/AvaloniaProperty.cs

@ -19,7 +19,7 @@ namespace Avalonia
/// <summary>
/// Represents an unset property value.
/// </summary>
public static readonly object UnsetValue = new Unset();
public static readonly object UnsetValue = new UnsetValueType();
private static int s_nextId;
private readonly Subject<AvaloniaPropertyChangedEventArgs> _initialized;
@ -546,16 +546,17 @@ namespace Avalonia
}
}
}
/// <summary>
/// Class representing the <see cref="AvaloniaProperty.UnsetValue"/>.
/// </summary>
public class UnsetValueType
{
/// <summary>
/// Class representing the <see cref="UnsetValue"/>.
/// Returns the string representation of the <see cref="AvaloniaProperty.UnsetValue"/>.
/// </summary>
private class Unset
{
/// <summary>
/// Returns the string representation of the <see cref="UnsetValue"/>.
/// </summary>
/// <returns>The string "(unset)".</returns>
public override string ToString() => "(unset)";
}
/// <returns>The string "(unset)".</returns>
public override string ToString() => "(unset)";
}
}

5
src/Avalonia.Base/Data/Core/ExpressionParseException.cs

@ -9,7 +9,10 @@ namespace Avalonia.Data.Core
/// Exception thrown when <see cref="ExpressionObserver"/> could not parse the provided
/// expression string.
/// </summary>
public class ExpressionParseException : Exception
#if !BUILDTASK
public
#endif
class ExpressionParseException : Exception
{
/// <summary>
/// Initializes a new instance of the <see cref="ExpressionParseException"/> class.

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save