Merge pull request #349 from irihitech/UrsaView

Ursa view
This commit is contained in:
Zhang Dian
2024-08-14 22:16:11 +08:00
committed by GitHub
15 changed files with 189 additions and 12 deletions

View File

@@ -1,7 +1,7 @@
<Application
x:Class="Ursa.Demo.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:u-semi="https://irihi.tech/ursa/themes/semi"
xmlns:semi="https://irihi.tech/semi">
<Application.Styles>

View File

@@ -1,4 +1,5 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Ursa.Demo.ViewModels;

View File

@@ -16,9 +16,7 @@
Icon="/Assets/Ursa.ico"
mc:Ignorable="d">
<u:UrsaWindow.RightContent>
<u:ThemeToggleButton
IsThreeState="True"
Mode="Controller" />
<views:TitleBarRightContent/>
</u:UrsaWindow.RightContent>
<views:MainView />
</u:UrsaWindow>

View File

@@ -1,4 +1,4 @@
<UserControl xmlns="https://github.com/avaloniaui"
<u:UrsaView 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"
@@ -7,8 +7,8 @@
mc:Ignorable="d" d:DesignWidth="800"
d:DesignHeight="450"
x:Class="Ursa.Demo.Views.SingleView">
<Panel>
<views:MainView/>
<u:OverlayDialogHost/>
</Panel>
</UserControl>
<u:UrsaView.RightContent>
<views:TitleBarRightContent/>
</u:UrsaView.RightContent>
<views:MainView/>
</u:UrsaView>

View File

@@ -1,8 +1,9 @@
using Avalonia.Controls;
using Ursa.Controls;
namespace Ursa.Demo.Views;
public partial class SingleView : UserControl
public partial class SingleView : UrsaView
{
public SingleView()
{

View File

@@ -0,0 +1,20 @@
<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:u="https://irihi.tech/ursa"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Ursa.Demo.Views.TitleBarRightContent">
<StackPanel Orientation="Horizontal">
<Button Theme="{DynamicResource BorderlessButton}" Click="OpenRepository">
<PathIcon
Width="16"
Height="16"
Data="M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z"
Foreground="{DynamicResource ButtonDefaultTertiaryForeground}" />
</Button>
<u:ThemeToggleButton
IsThreeState="True"
Mode="Controller" />
</StackPanel>
</UserControl>

View File

@@ -0,0 +1,23 @@
using System;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
namespace Ursa.Demo.Views;
public partial class TitleBarRightContent : UserControl
{
public TitleBarRightContent()
{
InitializeComponent();
}
private async void OpenRepository(object? sender, RoutedEventArgs e)
{
var top = TopLevel.GetTopLevel(this);
if (top is null) return;
var launcher = top.Launcher;
await launcher.LaunchUriAsync(new Uri("https://github.com/irihitech/Ursa.Avalonia"));
}
}