Skip to content

Commit 61f074f

Browse files
authored
Merge pull request #63 from AvaloniaUtils/avalonia11dot1redo
Fix all Avalonia 11.1 changes which was reverted
2 parents 3c4896c + a56eb19 commit 61f074f

19 files changed

+920
-86
lines changed

DialogHost.Avalonia.sln

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,9 @@ Global
1818
{DDD9BB37-B237-4F28-BD82-9BC2E7711B1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
1919
{DDD9BB37-B237-4F28-BD82-9BC2E7711B1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
2020
{DDD9BB37-B237-4F28-BD82-9BC2E7711B1D}.Release|Any CPU.Build.0 = Release|Any CPU
21+
{8E38D15E-CD8A-4315-BC45-BD1C7F47580D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
22+
{8E38D15E-CD8A-4315-BC45-BD1C7F47580D}.Debug|Any CPU.Build.0 = Debug|Any CPU
23+
{8E38D15E-CD8A-4315-BC45-BD1C7F47580D}.Release|Any CPU.ActiveCfg = Release|Any CPU
24+
{8E38D15E-CD8A-4315-BC45-BD1C7F47580D}.Release|Any CPU.Build.0 = Release|Any CPU
2125
EndGlobalSection
2226
EndGlobal

DialogHost.Avalonia/DialogHost.Avalonia.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFramework>netstandard2.0</TargetFramework>
4-
<LangVersion>9</LangVersion>
4+
<LangVersion>12</LangVersion>
55
<Nullable>enable</Nullable>
66
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
77
<IsPackable>true</IsPackable>
@@ -29,7 +29,6 @@
2929
</AvaloniaResource>
3030
</ItemGroup>
3131
<ItemGroup>
32-
<PackageReference Include="Avalonia" Version="11.0.0"/>
33-
<PackageReference Include="System.Reactive" Version="6.0.0"/>
32+
<PackageReference Include="Avalonia" Version="11.1.0"/>
3433
</ItemGroup>
3534
</Project>

DialogHost.Avalonia/DialogHost.axaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@
4747
<Style Selector="Rectangle#PART_ContentCover[Opacity=0]">
4848
<Setter Property="IsVisible" Value="False" />
4949
</Style>
50+
<Style Selector="Rectangle#PART_ContentCover:not(.notransitions)">
51+
<Setter Property="Transitions">
52+
<Transitions>
53+
<DoubleTransition Property="Opacity" Easing="LinearEasing" Duration="0.3" />
54+
</Transitions>
55+
</Setter>
56+
</Style>
5057
</Rectangle.Styles>
5158
</Rectangle>
5259
</Grid>

DialogHost.Avalonia/DialogHost.axaml.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4-
using System.Reactive.Disposables;
54
using System.Threading.Tasks;
65
using System.Windows.Input;
76
using Avalonia;
@@ -14,6 +13,7 @@
1413
using Avalonia.Interactivity;
1514
using Avalonia.Media;
1615
using DialogHostAvalonia.Positioners;
16+
using DialogHostAvalonia.Utilities;
1717

1818
namespace DialogHostAvalonia {
1919
public class DialogHost : ContentControl {
@@ -110,9 +110,6 @@ public class DialogHost : ContentControl {
110110
(o, v) => o.PopupPositioner = v,
111111
defaultBindingMode: BindingMode.TwoWay);
112112

113-
private IDialogPopupPositioner? _popupPositioner;
114-
private bool _disableOpeningAnimation;
115-
116113
private DialogClosingEventHandler? _asyncShowClosingEventHandler;
117114
private DialogOpenedEventHandler? _asyncShowOpenedEventHandler;
118115

@@ -127,17 +124,20 @@ public class DialogHost : ContentControl {
127124
private DialogOpenedEventHandler? _dialogOpenedCallback;
128125

129126
private TaskCompletionSource<object?>? _dialogTaskCompletionSource;
127+
private bool _disableOpeningAnimation;
130128

131129
private string? _identifier;
132130

133131
private bool _isOpen;
134132

135133
private ICommand _openDialogCommand;
136-
137-
private Grid? _root;
138134
private DialogOverlayPopupHost? _overlayPopupHost;
135+
136+
private IDialogPopupPositioner? _popupPositioner;
139137
private IInputElement? _restoreFocusDialogClose;
140138

139+
private Grid? _root;
140+
141141
private IDisposable? _templateDisposables;
142142

143143
public DialogHost() {
@@ -504,7 +504,7 @@ protected override void OnApplyTemplate(TemplateAppliedEventArgs e) {
504504
_overlayPopupHost!.Bind(TemplateProperty, this.GetBindingObservable(PopupTemplateProperty)),
505505
_overlayPopupHost!.Bind(PaddingProperty, this.GetBindingObservable(DialogMarginProperty)),
506506
_overlayPopupHost!.Bind(PopupPositionerProperty, this.GetBindingObservable(PopupPositionerProperty)),
507-
e.NameScope.Find<Rectangle>(ContentCoverName)?.AddDisposableHandler(PointerReleasedEvent, ContentCoverGrid_OnPointerReleased) ?? Disposable.Empty
507+
e.NameScope.Find<Rectangle>(ContentCoverName)?.AddDisposableHandler(PointerReleasedEvent, ContentCoverGrid_OnPointerReleased) ?? EmptyDisposable.Instance
508508
};
509509
base.OnApplyTemplate(e);
510510
}

DialogHost.Avalonia/DialogHostCommandImpl.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
using System;
22
using System.Windows.Input;
3+
using DialogHostAvalonia.Utilities;
34

45
namespace DialogHostAvalonia {
56
internal class DialogHostCommandImpl : ICommand {
6-
private Func<object, bool> _canExecuteFunc;
7-
private Action<object> _executeFunc;
7+
private readonly Func<object, bool> _canExecuteFunc;
8+
private readonly Action<object> _executeFunc;
89

910
public DialogHostCommandImpl(Action<object> executeFunc, Func<object, bool>? canExecuteFunc, IObservable<bool> canExecuteChangedObservable) {
1011
_canExecuteFunc = canExecuteFunc ?? (o => true) ;

DialogHost.Avalonia/DialogOverlayPopupHost.axaml.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
11
using System;
2-
using System.Collections.Generic;
32
using System.Linq;
4-
using System.Reactive.Disposables;
5-
using System.Reactive.Linq;
63
using Avalonia;
74
using Avalonia.Controls;
8-
using Avalonia.Controls.Primitives;
9-
using Avalonia.Controls.Primitives.PopupPositioning;
10-
using Avalonia.Data;
115
using Avalonia.Input;
12-
using Avalonia.Interactivity;
13-
using Avalonia.Media;
14-
using Avalonia.Threading;
156
using Avalonia.VisualTree;
167
using DialogHostAvalonia.Positioners;
178

DialogHost.Avalonia/Positioners/AlignmentDialogPopupPositioner.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
using System;
2-
using Avalonia;
3-
using Avalonia.Controls.Primitives.PopupPositioning;
1+
using Avalonia;
42
using Avalonia.Layout;
53

64
namespace DialogHostAvalonia.Positioners {

DialogHost.Avalonia/Positioners/CenteredDialogPopupPositioner.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using Avalonia;
2-
using Avalonia.Controls.Primitives.PopupPositioning;
32

43
namespace DialogHostAvalonia.Positioners {
54
/// <summary>

0 commit comments

Comments
 (0)