Добавлен Studio

This commit is contained in:
2026-01-07 23:52:02 +03:00
parent ca5d912c9c
commit c3770c789b
19 changed files with 668 additions and 51 deletions

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<UserControl
x:Class="Lattice.Studio.Controls.LatticeStudioShell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Lattice.Studio.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:lui="using:Lattice.UI.Controls"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<!-- TitleBar с MenuBar -->
<RowDefinition Height="Auto" />
<!-- Тулбар -->
<RowDefinition Height="Auto" />
<!-- СЛОТ ДЛЯ УВЕДОМЛЕНИЙ -->
<RowDefinition Height="Auto" />
<!-- Докинг -->
<RowDefinition Height="*" />
<!-- Статус-бар -->
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- Нативный TitleBar Windows 11 -->
<TitleBar x:Name="AppTitleBar"
Title="{x:Bind Title, Mode=OneWay}"
Subtitle="{x:Bind Subtitle, Mode=OneWay}"
IsBackButtonVisible="False"
IconSource="{x:Bind TitleBarIcon, Mode=OneWay}"
IsPaneToggleButtonVisible="False">
<!-- Вставляем меню прямо в заголовок -->
<TitleBar.Content>
<Grid x:Name="TitleBarContentGrid" Margin="8,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<!-- Меню -->
<ColumnDefinition Width="*" />
<!-- Зона перетаскивания -->
</Grid.ColumnDefinitions>
<!-- Слот для MenuBar -->
<ContentPresenter x:Name="MenuSlot"
Content="{x:Bind MenuContent, Mode=OneWay}"
VerticalAlignment="Center" />
<!-- Пустая область для захвата мышью (Drag Region) -->
<Canvas Grid.Column="1" Background="Transparent" />
</Grid>
</TitleBar.Content>
</TitleBar>
<!-- Тулбар -->
<lui:LatticeContextualToolbar Grid.Row="1" x:Name="StudioToolbar" />
<!-- Контейнер для уведомлений (StackPanel для нескольких сообщений) -->
<StackPanel Grid.Row="2" x:Name="NotificationArea" VerticalAlignment="Top" Canvas.ZIndex="100" />
<!-- Докинг -->
<lui:LatticeDockHost Grid.Row="3" x:Name="MainDockHost" />
<!-- Статус-бар -->
<ContentPresenter Grid.Row="4" Content="{x:Bind StatusContent, Mode=OneWay}" />
</Grid>
</UserControl>