feat: make UrsaView base.

This commit is contained in:
rabbitism
2024-08-13 22:53:35 +08:00
parent 7479cff110
commit 2789f88fc7
4 changed files with 24 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Ursa.Demo.ViewModels;
@@ -17,8 +18,9 @@ public partial class App : Application
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow()
desktop.MainWindow = new Window()
{
Content = new SingleView(),
DataContext = new MainViewViewModel(),
};
}

View File

@@ -20,12 +20,13 @@
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
<u:TitleBar
<Grid ColumnDefinitions="Auto, *, Auto"
VerticalAlignment="Top"
Content="{Binding $parent[u:UrsaWindow].TitleBarContent}"
Margin="{Binding $parent[u:UrsaWindow].TitleBarMargin}"
LeftContent="{Binding $parent[u:UrsaWindow].LeftContent}"
RightContent="{Binding $parent[u:UrsaWindow].RightContent}" />
Margin="{Binding $parent[u:UrsaWindow].TitleBarMargin}">
<ContentPresenter Grid.Column="0" Content="{TemplateBinding LeftContent}" VerticalAlignment="Center"/>
<ContentPresenter Grid.Column="1" Content="{TemplateBinding TitleBarContent}" VerticalAlignment="Center"/>
<ContentPresenter Grid.Column="2" Content="{TemplateBinding RightContent}" VerticalAlignment="Center"/>
</Grid>
<u:OverlayDialogHost IsModalStatusReporter="True" />
</Panel>
</Panel>

View File

@@ -0,0 +1,14 @@
<Styles xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:u="https://irihi.tech/ursa">
<Design.PreviewWith>
<Border Padding="20">
<!-- Add Controls for Previewer Here -->
</Border>
</Design.PreviewWith>
<!-- Add Styles Here -->
<Style Selector=":is(u|UrsaView)">
<Setter Property="Theme" Value="{DynamicResource {x:Type u:UrsaView}}"/>
</Style>
</Styles>

View File

@@ -10,5 +10,6 @@
<StyleInclude Source="Skeleton.axaml" />
<StyleInclude Source="ToolBar.axaml"/>
<StyleInclude Source="TimeBox.axaml"/>
<StyleInclude Source="UrsaView.axaml" />
<!-- Add Styles Here -->
</Styles>