Skip to content

Commit a898cdf

Browse files
authored
Merge pull request #81 from AvaloniaUtils/fixes-1
Some fixes in demo
2 parents 89c5bfe + 4323ac4 commit a898cdf

File tree

4 files changed

+49
-38
lines changed

4 files changed

+49
-38
lines changed

DialogHost.Avalonia/DialogHost.axaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ namespace DialogHostAvalonia;
2121
/// <summary>
2222
/// A control that hosts dialog content in a modal overlay.
2323
/// </summary>
24+
[TemplatePart(ContentCoverName, typeof(Rectangle))]
25+
[TemplatePart(DialogHostRoot, typeof(Panel))]
2426
public class DialogHost : ContentControl {
2527
/// <summary>
2628
/// Gets the name for the content cover part in the control template.

DialogHost.Demo/Models/Sample2Model.cs renamed to DialogHost.Demo/Models/Sample3Model.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace DialogHostDemo.Models;
22

3-
public class Sample2Model {
4-
public Sample2Model(int number) {
3+
public class Sample3Model {
4+
public Sample3Model(int number) {
55
Number = number;
66
}
77
public int Number { get; set; }

DialogHost.Demo/Views/MainWindow.axaml

Lines changed: 39 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,48 @@
1515
<Design.DataContext>
1616
<vm:MainWindowViewModel />
1717
</Design.DataContext>
18+
19+
<Window.DataTemplates>
20+
<DataTemplate DataType="models:Sample3Model">
21+
<StackPanel>
22+
<TextBlock TextAlignment="Center">Your lucky number:</TextBlock>
23+
<TextBlock Classes="Body1"
24+
TextAlignment="Center"
25+
Text="{Binding Number}" />
26+
<Button Margin="0 8 0 0"
27+
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
28+
THANKS, CLOSE
29+
</Button>
30+
</StackPanel>
31+
</DataTemplate>
32+
</Window.DataTemplates>
33+
<Window.Resources>
34+
<StackPanel x:Key="Sample2View">
35+
<TextBlock>It opened without animation</TextBlock>
36+
<Button Margin="0 16 0 0"
37+
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
38+
CLOSE
39+
</Button>
40+
</StackPanel>
41+
<StackPanel x:Key="Sample3View">
42+
<ProgressBar Classes="Circle" IsIndeterminate="True" />
43+
<Button Margin="0 16 0 0"
44+
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
45+
CLOSE
46+
</Button>
47+
</StackPanel>
48+
<StackPanel x:Key="Sample4View">
49+
<TextBlock>Everything blurred</TextBlock>
50+
<Button Margin="0 16 0 0"
51+
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
52+
CLOSE
53+
</Button>
54+
</StackPanel>
55+
</Window.Resources>
56+
1857
<dialogHostAvalonia:DialogHost Identifier="MainDialogHost"
1958
DialogMargin="16"
2059
dialogHostAvalonia:DialogHostStyle.CornerRadius="8">
21-
<dialogHostAvalonia:DialogHost.DataTemplates>
22-
<DataTemplate DataType="models:Sample2Model">
23-
<StackPanel>
24-
<TextBlock TextAlignment="Center">Your lucky number:</TextBlock>
25-
<TextBlock Classes="Body1"
26-
TextAlignment="Center"
27-
Text="{Binding Number}" />
28-
<Button Margin="0 8 0 0"
29-
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
30-
THANKS, CLOSE
31-
</Button>
32-
</StackPanel>
33-
</DataTemplate>
34-
</dialogHostAvalonia:DialogHost.DataTemplates>
3560
<Grid Margin="8"
3661
ColumnDefinitions="* 8 * 8 * 8 *" RowDefinitions="Auto 8 *"
3762
VerticalAlignment="Center" HorizontalAlignment="Stretch">
@@ -94,20 +119,4 @@
94119
</Border>
95120
</Grid>
96121
</dialogHostAvalonia:DialogHost>
97-
<Window.Resources>
98-
<StackPanel x:Key="Sample2View">
99-
<TextBlock>It opened without animation</TextBlock>
100-
<Button Margin="0 16 0 0"
101-
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
102-
CLOSE
103-
</Button>
104-
</StackPanel>
105-
<StackPanel x:Key="Sample3View">
106-
<ProgressBar Classes="Circle" IsIndeterminate="True" />
107-
<Button Margin="0 16 0 0"
108-
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=dialogHostAvalonia:DialogHost}, Path=CloseDialogCommand}">
109-
CLOSE
110-
</Button>
111-
</StackPanel>
112-
</Window.Resources>
113122
</Window>

DialogHost.Demo/Views/MainWindow.axaml.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ public MainWindow() {
1919
private void InitializeComponent() {
2020
AvaloniaXamlLoader.Load(this);
2121
}
22+
23+
private async void OpenNoAnimationDialog(object? sender, RoutedEventArgs e) {
24+
await DialogHost.Show(Resources["Sample2View"]!, "NoAnimationDialogHost");
25+
}
2226

2327
private async void OpenDialogWithView(object? sender, RoutedEventArgs e) {
2428
await DialogHost.Show(Resources["Sample3View"]!, "MainDialogHost");
2529
}
2630

2731
private async void OpenDialogWithModel(object? sender, RoutedEventArgs e) {
28-
await DialogHost.Show(new Sample2Model(new Random().Next(0, 100)), "MainDialogHost");
29-
}
30-
31-
private async void OpenNoAnimationDialog(object? sender, RoutedEventArgs e) {
32-
await DialogHost.Show(Resources["Sample2View"]!, "NoAnimationDialogHost");
32+
await DialogHost.Show(new Sample3Model(new Random().Next(0, 100)), "MainDialogHost");
3333
}
3434

3535
private async void OpenBlurDialog(object? sender, RoutedEventArgs e) {
36-
await DialogHost.Show(Resources["Sample2View"]!, "BlurDialogHost");
36+
await DialogHost.Show(Resources["Sample4View"]!, "BlurDialogHost");
3737
}
3838
}

0 commit comments

Comments
 (0)