- add: popup message

This commit is contained in:
2024-12-26 18:54:37 +03:00
parent a389dd5481
commit 516801840c
14 changed files with 367 additions and 70 deletions

View File

@@ -0,0 +1,21 @@
<UserControl
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
x:Class="Nebula.Launcher.Views.Popup.InfoPopupView"
x:DataType="viewModels:InfoPopupViewModel"
xmlns="https://github.com/avaloniaui"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewModels="clr-namespace:Nebula.Launcher.ViewModels"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.DataContext>
<viewModels:InfoPopupViewModel />
</Design.DataContext>
<Panel HorizontalAlignment="Center" VerticalAlignment="Center">
<Label>
<TextBlock Text="{Binding InfoText}" />
</Label>
</Panel>
</UserControl>

View File

@@ -0,0 +1,19 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels;
namespace Nebula.Launcher.Views.Popup;
public partial class InfoPopupView : UserControl
{
public InfoPopupView()
{
InitializeComponent();
}
public InfoPopupView(InfoPopupViewModel viewModel) : this()
{
DataContext = viewModel;
}
}

View File

@@ -0,0 +1,53 @@
<UserControl
d:DesignHeight="320"
d:DesignWidth="520"
mc:Ignorable="d"
x:Class="Nebula.Launcher.Views.Popup.MessagePopupView"
x:DataType="viewModels:MessagePopupViewModel"
xmlns="https://github.com/avaloniaui"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewModels="clr-namespace:Nebula.Launcher.ViewModels"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.DataContext>
<viewModels:MessagePopupViewModel />
</Design.DataContext>
<Grid RowDefinitions="35,*,20">
<Border
BorderThickness="0,0,0,2"
CornerRadius="10,10,0,0"
Grid.Row="0">
<Panel Margin="12,0,12,0" VerticalAlignment="Center">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Center">
<Label VerticalAlignment="Center">Title</Label>
</StackPanel>
<Button
Content="Close"
HorizontalAlignment="Right"
Padding="15,0,15,0"
VerticalAlignment="Center"
x:Name="CloseButton" />
</Panel>
</Border>
<TransitioningContentControl Content="{Binding CurrentPopup}" Grid.Row="0" />
<Border
BorderThickness="0,2,0,2"
CornerRadius="0,0,10,10"
Grid.Row="2">
<Panel Margin="12,0,12,0" VerticalAlignment="Center">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Center">
<Label
FontSize="8"
Foreground="#666666"
VerticalAlignment="Center">
Дальше бога нет...
</Label>
</StackPanel>
</Panel>
</Border>
</Grid>
</UserControl>

View File

@@ -0,0 +1,26 @@
using System;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Nebula.Launcher.ViewModels;
namespace Nebula.Launcher.Views.Popup;
public partial class MessagePopupView : UserControl
{
// This constructor is used when the view is created by the XAML Previewer
public MessagePopupView()
{
InitializeComponent();
}
// This constructor is used when the view is created via dependency injection
public MessagePopupView(MessagePopupViewModel viewModel)
: this()
{
DataContext = viewModel;
Console.WriteLine("NO SOSAL");
CloseButton.KeyDown += (_,_) => Console.WriteLine("GGG11");
CloseButton.Click += (_,_) => Console.WriteLine("GGG");
}
}