add Avalonia Dialogs

This commit is contained in:
2025-11-10 15:57:51 +01:00
parent 1ab775aa3e
commit c19c858de1
9 changed files with 431 additions and 1 deletions

View File

@@ -0,0 +1,78 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="https://git.pilzinsel64.de/pilz-framework/pilz"
xmlns:dialogs="clr-namespace:Pilz.UI.AvaloniaUI.Dialogs"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Pilz.UI.AvaloniaUI.Dialogs.AvaloniaFlyoutBase">
<StackPanel Orientation="Vertical">
<!-- StackPanel: Header -->
<StackPanel
x:Name="StackPanelHeader"
Orientation="Horizontal"
HorizontalAlignment="Stretch"
Margin="3"
IsVisible="False"
>
<Image
x:Name="ImageTitle"
HorizontalAlignment="Left"
VerticalAlignment="Center"
/>
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Center"
x:Name="LabelTitle"
/>
</StackPanel>
<!-- Panel: Content -->
<ContentPresenter
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Margin="3"
Content="{Binding MainContent, RelativeSource={RelativeSource AncestorType=dialogs:AvaloniaFlyoutBase}}"
/>
<!-- StackPanel: Footer -->
<Grid
x:Name="StackPanelFooter"
RowDefinitions="Auto"
ColumnDefinitions="*,Auto,Auto"
HorizontalAlignment="Stretch"
>
<ContentPresenter
Grid.Column="0"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Margin="3"
Content="{Binding FooterContent, RelativeSource={RelativeSource AncestorType=dialogs:AvaloniaFlyoutBase}}"
/>
<!-- Button: Okay -->
<controls:ImageButton
Grid.Column="1"
x:Name="ButtonOkay"
HorizontalAlignment="Right"
Margin="3"
Text="Okay"
Click="ButtonOkay_OnClick"
/>
<!-- Button: Cancel -->
<controls:ImageButton
Grid.Column="2"
x:Name="ButtonCancel"
HorizontalAlignment="Right"
Margin="3"
Text="Cancel"
Click="ButtonCancel_OnClick"
/>
</Grid>
</StackPanel>
</UserControl>