mirror of
https://github.com/BeyondDimension/SteamTools.git
synced 2026-10-29 07:27:36 +08:00
ui push
This commit is contained in:
@@ -2,18 +2,15 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="clr-namespace:System.Application.UI"
|
||||
x:Class="System.Application.UI.App">
|
||||
<Application.DataTemplates>
|
||||
<ui:ViewLocator/>
|
||||
</Application.DataTemplates>
|
||||
<Application.Styles>
|
||||
<FluentTheme Mode="Dark" />
|
||||
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Styles.xaml" />
|
||||
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Controls/SideBar.xaml" />
|
||||
<!--<StyleInclude Source="/Styles/Styles.xaml" />
|
||||
<StyleInclude Source="/Styles/Controls/SideBar.xaml" />-->
|
||||
<!--<StyleInclude Source="avares://AvaloniaEdit/AvaloniaEdit.xaml"/>-->
|
||||
<Style Selector="Window">
|
||||
<Setter Property="Icon" Value="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"/>
|
||||
</Style>
|
||||
</Application.Styles>
|
||||
<Application.DataTemplates>
|
||||
<ui:ViewLocator/>
|
||||
</Application.DataTemplates>
|
||||
<Application.Styles>
|
||||
<FluentTheme Mode="Light" />
|
||||
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Styles.xaml" />
|
||||
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Controls/SideBar.xaml" />
|
||||
<Style Selector="Window">
|
||||
<Setter Property="Icon" Value="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"/>
|
||||
</Style>
|
||||
</Application.Styles>
|
||||
</Application>
|
||||
@@ -14,6 +14,8 @@ using AvaloniaApplication = Avalonia.Application;
|
||||
using ShutdownMode = Avalonia.Controls.ShutdownMode;
|
||||
using Window = Avalonia.Controls.Window;
|
||||
using WindowState = Avalonia.Controls.WindowState;
|
||||
using Avalonia.Themes.Fluent;
|
||||
|
||||
#if WINDOWS
|
||||
using System.Windows.Shell;
|
||||
using WpfApplication = System.Windows.Application;
|
||||
@@ -26,7 +28,6 @@ namespace System.Application.UI
|
||||
public partial class App : AvaloniaApplication, IDisposableHolder
|
||||
{
|
||||
public static App Instance => Current is App app ? app : throw new Exception("Impossible");
|
||||
|
||||
[Obsolete("use IOPath.AppDataDirectory", true)]
|
||||
public DirectoryInfo LocalAppData => new DirectoryInfo(IOPath.AppDataDirectory);
|
||||
|
||||
@@ -35,10 +36,11 @@ namespace System.Application.UI
|
||||
[Obsolete("use AppHelper.ProgramName", true)]
|
||||
public string ProgramName => AppHelper.ProgramName;
|
||||
|
||||
public FluentTheme? fluentTheme;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
|
||||
MainWindow = new MainWindow
|
||||
{
|
||||
DataContext = new MainWindowViewModel(),
|
||||
@@ -59,7 +61,6 @@ namespace System.Application.UI
|
||||
// 在UI预览中,ApplicationLifetime 为 null
|
||||
ViewModelBase.IsInDesignMode = ApplicationLifetime == null;
|
||||
Startup.Init();
|
||||
|
||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
{
|
||||
#if MAC
|
||||
@@ -92,6 +93,22 @@ namespace System.Application.UI
|
||||
NotifyIconContextMenu = new ContextMenu();
|
||||
var menuItems = new List<MenuItem>
|
||||
{
|
||||
new MenuItem()
|
||||
{
|
||||
Header = "Light",
|
||||
Command = ReactiveCommand.Create(()=>{
|
||||
if(fluentTheme is not null)
|
||||
fluentTheme.Mode= FluentThemeMode.Light;
|
||||
})
|
||||
},
|
||||
new MenuItem()
|
||||
{
|
||||
Header = "Dark",
|
||||
Command = ReactiveCommand.Create(()=>{
|
||||
if(fluentTheme is not null)
|
||||
fluentTheme.Mode= FluentThemeMode.Dark;
|
||||
})
|
||||
},
|
||||
new MenuItem()
|
||||
{
|
||||
Header = "NotifyIconContextMenuItemHeaderRestore",
|
||||
@@ -115,6 +132,14 @@ namespace System.Application.UI
|
||||
|
||||
#endregion
|
||||
|
||||
foreach (var style in App.Current.Styles)
|
||||
{
|
||||
if (style is FluentTheme fluent)
|
||||
{
|
||||
fluentTheme = fluent;
|
||||
}
|
||||
}
|
||||
|
||||
#if WINDOWS
|
||||
AddJumpTask();
|
||||
#endif
|
||||
@@ -149,6 +174,7 @@ namespace System.Application.UI
|
||||
|
||||
public Window? MainWindow { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Restores the app's main window by setting its <c>WindowState</c> to
|
||||
/// <c>WindowState.Normal</c> and showing the window.
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
d:DesignWidth="1200" Width="1400" MinWidth="800"
|
||||
d:DesignHeight="600" Height="800" MinHeight="600"
|
||||
xmlns:pages="clr-namespace:System.Application.UI.Pages;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
|
||||
xmlns:local="clr-namespace:System.Application.UI.Views;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
|
||||
xmlns:local="clr-namespace:System.Application.UI.Views;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
|
||||
xmlns:manager="clr-namespace:Avalonia.ThemeManager;assembly=Avalonia.ThemeManager"
|
||||
x:Class="System.Application.UI.Views.MainWindow"
|
||||
x:Name="MainWindow"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@
|
||||
<UserControl.Styles>
|
||||
<Style Selector="Image:pointerover">
|
||||
<Style.Animations>
|
||||
<Animation Duration="0:0:0.1" FillMode="Forward">
|
||||
<Animation Duration="0:0:0.15" FillMode="Forward">
|
||||
<KeyFrame Cue="0%">
|
||||
<Setter Property="Width" Value="150"/>
|
||||
<Setter Property="Height" Value="225"/>
|
||||
@@ -25,7 +25,7 @@
|
||||
</UserControl.Styles>
|
||||
<Border BorderBrush="Gray" BorderThickness="0">
|
||||
<Panel>
|
||||
<Image Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"></Image>
|
||||
<Image Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/AppResources/app.png"></Image>
|
||||
<Label IsHitTestVisible="False" Content="Test" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="18"></Label>
|
||||
</Panel>
|
||||
</Border>
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
<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"
|
||||
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="600"
|
||||
xmlns:pages="clr-namespace:System.Application.UI.Views.Pages"
|
||||
xmlns:controls="clr-namespace:System.Application.UI.Views.Controls"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
x:Class="System.Application.UI.Views.MainView"
|
||||
FontSize="14"
|
||||
Foreground="{StaticResource SystemBaseHighColor}">
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
<Grid>
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<ExperimentalAcrylicBorder IsHitTestVisible="False" DockPanel.Dock="Left" Width="240">
|
||||
<ExperimentalAcrylicBorder.Material>
|
||||
<ExperimentalAcrylicMaterial TintColor="black" MaterialOpacity="0.85" TintOpacity="1"/>
|
||||
</ExperimentalAcrylicBorder.Material>
|
||||
<!--<AutoCompleteBox HorizontalAlignment="Stretch" Margin="20 40 20 0" Watermark="Search" Items="{Binding SearchItems}" />-->
|
||||
<StackPanel IsHitTestVisible="False" Orientation="Horizontal" HorizontalAlignment="Center" Height="110" VerticalAlignment="Top">
|
||||
<Image IsHitTestVisible="False" Source="/Application/UI/Assets/Icon.ico" Height="64" Width="64" VerticalAlignment="Center" Margin="-8,0,0,0"/>
|
||||
<Label IsHitTestVisible="False" Content="{Binding Path=Title}" VerticalContentAlignment="Center" FontSize="20" Margin="8,0,0,0"/>
|
||||
</StackPanel>
|
||||
</ExperimentalAcrylicBorder>
|
||||
<ExperimentalAcrylicBorder IsHitTestVisible="False">
|
||||
<ExperimentalAcrylicBorder.Material>
|
||||
<ExperimentalAcrylicMaterial TintColor="{DynamicResource ThemeBackgroundBrush}" MaterialOpacity="0.85" TintOpacity="1"/>
|
||||
</ExperimentalAcrylicBorder.Material>
|
||||
<Label Content="{ReflectionBinding #TabControl.SelectedItem.Header}" Margin="20 15" FontSize="32"/>
|
||||
</ExperimentalAcrylicBorder>
|
||||
</DockPanel>
|
||||
|
||||
<TabControl x:Name="TabControl" Classes="sidebar" Margin="0 40 0 0">
|
||||
<TabItem Header="{Binding Path=Res.Welcome,Mode=OneWay,Source={x:Static resx:R.Current}}" VerticalContentAlignment="Center">
|
||||
<controls:CardView></controls:CardView>
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.CommunityFix,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.UserFastChange,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.GameList,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
<pages:GameListPage />
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.SteamAuth,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.IdleCard,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.GameRelated,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.Settings,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
<pages:SettingsPage />
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.About,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
<UserControl xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="System.Application.UI.Views.Pages.GameList">
|
||||
x:Class="System.Application.UI.Views.Pages.GameListPage">
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
+2
-2
@@ -4,9 +4,9 @@ using System.Application.UI.ViewModels;
|
||||
|
||||
namespace System.Application.UI.Views.Pages
|
||||
{
|
||||
public class GameList : UserControl
|
||||
public class GameListPage : UserControl
|
||||
{
|
||||
public GameList()
|
||||
public GameListPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
+28
-22
@@ -1,37 +1,43 @@
|
||||
<UserControl xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="System.Application.UI.Views.Pages.SettingsPage">
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
|
||||
<Grid RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto">
|
||||
<StackPanel Orientation="Vertical"
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
|
||||
<Grid RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto">
|
||||
<StackPanel Orientation="Vertical"
|
||||
HorizontalAlignment="Stretch"
|
||||
Spacing="16">
|
||||
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_General,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="{Binding Path=Res.Language,Mode=OneWay,Source={x:Static resx:R.Current}}" Margin="0 0 0 20"/>
|
||||
<ComboBox HorizontalAlignment="Stretch"
|
||||
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_General,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<TextBlock Text="{Binding Path=Res.Language,Mode=OneWay,Source={x:Static resx:R.Current}}" Margin="0 0 0 20"/>
|
||||
<ComboBox HorizontalAlignment="Stretch"
|
||||
SelectedIndex="{Binding Path=SettingsPage.CurrentLanguageIndex}"
|
||||
Items="{Binding Path=SettingsPage.Languages}" />
|
||||
</StackPanel>
|
||||
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical"
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<ComboBox x:Name="Themes" SelectedIndex="0">
|
||||
<ComboBoxItem>Light</ComboBoxItem>
|
||||
<ComboBoxItem>Dark</ComboBoxItem>
|
||||
</ComboBox>
|
||||
</StackPanel>
|
||||
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical"
|
||||
HorizontalAlignment="Stretch"
|
||||
Spacing="16"
|
||||
Grid.Row="1">
|
||||
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_Auth,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
|
||||
<StackPanel Orientation="Vertical">
|
||||
</StackPanel>
|
||||
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_Auth,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
|
||||
<StackPanel Orientation="Vertical">
|
||||
</StackPanel>
|
||||
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.Styling;
|
||||
using System.Application.UI.ViewModels;
|
||||
|
||||
namespace System.Application.UI.Views.Pages
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<UserControl xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="System.Application.UI.Views.Pages.SteamAccountPage">
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
|
||||
<Grid ColumnDefinitions="Auto,Auto">
|
||||
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using System.Application.UI.ViewModels;
|
||||
|
||||
namespace System.Application.UI.Views.Pages
|
||||
{
|
||||
public class SteamAccountPage : UserControl
|
||||
{
|
||||
public SteamAccountPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<controls:ResourceDictionary xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:Avalonia.Controls;assembly=Avalonia.Styling"
|
||||
xmlns:markupextensions="clr-namespace:Avalonia.Markup.Xaml.MarkupExtensions;assembly=Avalonia.Markup.Xaml">
|
||||
<controls:ResourceDictionary.MergedDictionaries>
|
||||
<markupextensions:ResourceInclude Source="/Application/UI/Styles/Theme.Dark.xaml" />
|
||||
<markupextensions:ResourceInclude Source="/Application/UI/Styles/Theme.Light.xaml" />
|
||||
</controls:ResourceDictionary.MergedDictionaries>
|
||||
</controls:ResourceDictionary>
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<Design.PreviewWith>
|
||||
<Border Padding="20">
|
||||
<StackPanel Spacing="5">
|
||||
<TextBlock Text="Code Font Family" FontFamily="{StaticResource CodeFontFamily}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Design.PreviewWith>
|
||||
<Styles.Resources>
|
||||
<Thickness x:Key="PageMargin">40 0 40 0</Thickness>
|
||||
<!--<FontFamily x:Key="CodeFontFamily">avares://Steam++/Assets/Fonts#Source Code Pro</FontFamily>-->
|
||||
</Styles.Resources>
|
||||
|
||||
<Style Selector="TextBlock.code">
|
||||
<!--<Setter Property="FontFamily" Value="{StaticResource CodeFontFamily}" />-->
|
||||
</Style>
|
||||
</Styles>
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
<Style xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=netstandard">
|
||||
<Style.Resources>
|
||||
|
||||
<Color x:Key="ThemeAccentColor">#CC119EDA</Color>
|
||||
<Color x:Key="ThemeAccentColor2">#99119EDA</Color>
|
||||
<Color x:Key="ThemeAccentColor3">#66119EDA</Color>
|
||||
<Color x:Key="ThemeAccentColor4">#33119EDA</Color>
|
||||
|
||||
<Color x:Key="ThemeBackgroundColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ThemeBorderLowColor">#FFAAAAAA</Color>
|
||||
<Color x:Key="ThemeBorderMidColor">#FF888888</Color>
|
||||
<Color x:Key="ThemeBorderHighColor">#FF333333</Color>
|
||||
|
||||
|
||||
<Color x:Key="ThemeControlLowColor">#FF868999</Color>
|
||||
<Color x:Key="ThemeControlMidColor">#FFF5F5F5</Color>
|
||||
<Color x:Key="ThemeControlMidHighColor">#FFC2C3C9</Color>
|
||||
<Color x:Key="ThemeControlHighColor">#FF686868</Color>
|
||||
<Color x:Key="ThemeControlVeryHighColor">#FF5B5B5B</Color>
|
||||
|
||||
<Color x:Key="ThemeControlHighlightLowColor">#FFF0F0F0</Color>
|
||||
<Color x:Key="ThemeControlHighlightMidColor">#FFD0D0D0</Color>
|
||||
<Color x:Key="ThemeControlHighlightHighColor">#FF808080</Color>
|
||||
<Color x:Key="ThemeForegroundColor">#FF000000</Color>
|
||||
<Color x:Key="ThemeForegroundLowColor">#FF808080</Color>
|
||||
|
||||
<Color x:Key="HighlightColor">#FF086F9E</Color>
|
||||
<Color x:Key="HighlightForegroundColor">#FFFFFFFF</Color>
|
||||
<Color x:Key="ErrorColor">#FFFF0000</Color>
|
||||
<Color x:Key="ErrorLowColor">#10FF0000</Color>
|
||||
|
||||
<SolidColorBrush x:Key="ThemeBackgroundBrush" Color="{DynamicResource ThemeBackgroundColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeBorderLowBrush" Color="{DynamicResource ThemeBorderLowColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeBorderMidBrush" Color="{DynamicResource ThemeBorderMidColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeBorderHighBrush" Color="{DynamicResource ThemeBorderHighColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlLowBrush" Color="{DynamicResource ThemeControlLowColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlMidBrush" Color="{DynamicResource ThemeControlMidColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlMidHighBrush" Color="{DynamicResource ThemeControlMidHighColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlHighBrush" Color="{DynamicResource ThemeControlHighColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlVeryHighBrush" Color="{DynamicResource ThemeControlVeryHighColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlHighlightLowBrush" Color="{DynamicResource ThemeControlHighlightLowColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlHighlightMidBrush" Color="{DynamicResource ThemeControlHighlightMidColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeControlHighlightHighBrush" Color="{DynamicResource ThemeControlHighlightHighColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeForegroundBrush" Color="{DynamicResource ThemeForegroundColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeForegroundLowBrush" Color="{DynamicResource ThemeForegroundLowColor}"></SolidColorBrush>
|
||||
|
||||
<SolidColorBrush x:Key="HighlightBrush" Color="{DynamicResource HighlightColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="HighlightForegroundBrush" Color="{DynamicResource HighlightForegroundColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush" Color="{DynamicResource ThemeAccentColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush2" Color="{DynamicResource ThemeAccentColor2}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush3" Color="{DynamicResource ThemeAccentColor3}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ThemeAccentBrush4" Color="{DynamicResource ThemeAccentColor4}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ErrorBrush" Color="{DynamicResource ErrorColor}"></SolidColorBrush>
|
||||
<SolidColorBrush x:Key="ErrorLowBrush" Color="{DynamicResource ErrorLowColor}"></SolidColorBrush>
|
||||
|
||||
<SolidColorBrush x:Key="NotificationCardBackgroundBrush" Color="#444444" Opacity="0.75"/>
|
||||
<SolidColorBrush x:Key="NotificationCardInformationBackgroundBrush" Color="#007ACC" Opacity="0.75"/>
|
||||
<SolidColorBrush x:Key="NotificationCardSuccessBackgroundBrush" Color="#1F9E45" Opacity="0.75"/>
|
||||
<SolidColorBrush x:Key="NotificationCardWarningBackgroundBrush" Color="#FDB328" Opacity="0.75"/>
|
||||
<SolidColorBrush x:Key="NotificationCardErrorBackgroundBrush" Color="#BD202C" Opacity="0.75"/>
|
||||
|
||||
<SolidColorBrush x:Key="DatePickerFlyoutPresenterHighlightFill" Color="{DynamicResource ThemeAccentColor}" Opacity="0.4" />
|
||||
<SolidColorBrush x:Key="TimePickerFlyoutPresenterHighlightFill" Color="{DynamicResource ThemeAccentColor}" Opacity="0.4" />
|
||||
|
||||
<SolidColorBrush x:Key="ThemeControlTransparentBrush" Color="Transparent" />
|
||||
|
||||
<Thickness x:Key="ThemeBorderThickness">1</Thickness>
|
||||
<sys:Double x:Key="ThemeDisabledOpacity">0.5</sys:Double>
|
||||
|
||||
<sys:Double x:Key="FontSizeSmall">10</sys:Double>
|
||||
<sys:Double x:Key="FontSizeNormal">12</sys:Double>
|
||||
<sys:Double x:Key="FontSizeLarge">16</sys:Double>
|
||||
|
||||
<sys:Double x:Key="ScrollBarThickness">18</sys:Double>
|
||||
<sys:Double x:Key="ScrollBarThumbThickness">8</sys:Double>
|
||||
|
||||
<sys:Double x:Key="IconElementThemeHeight">20</sys:Double>
|
||||
<sys:Double x:Key="IconElementThemeWidth">20</sys:Double>
|
||||
</Style.Resources>
|
||||
</Style>
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
<Window 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"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="System.Application.UI.Windows.LoginWindow"
|
||||
Background="Transparent"
|
||||
Title="LoginWindow">
|
||||
|
||||
|
||||
</Window>
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace System.Application.UI.Windows
|
||||
{
|
||||
public class LoginWindow : Window
|
||||
{
|
||||
public LoginWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
-60
@@ -1,60 +0,0 @@
|
||||
<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"
|
||||
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="600"
|
||||
xmlns:pages="clr-namespace:System.Application.UI.Views.Pages"
|
||||
xmlns:controls="clr-namespace:System.Application.UI.Views.Controls"
|
||||
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
|
||||
x:Class="System.Application.UI.Views.MainView"
|
||||
FontSize="14"
|
||||
Foreground="{StaticResource SystemBaseHighColor}">
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
<Grid>
|
||||
<DockPanel HorizontalAlignment="Stretch">
|
||||
<ExperimentalAcrylicBorder IsHitTestVisible="False" DockPanel.Dock="Left" Width="240">
|
||||
<ExperimentalAcrylicBorder.Material>
|
||||
<ExperimentalAcrylicMaterial TintColor="Black" MaterialOpacity="0.85" TintOpacity="1"/>
|
||||
</ExperimentalAcrylicBorder.Material>
|
||||
<!--<AutoCompleteBox HorizontalAlignment="Stretch" Margin="20 40 20 0" Watermark="Search" Items="{Binding SearchItems}" />-->
|
||||
<StackPanel IsHitTestVisible="False" Orientation="Horizontal" HorizontalAlignment="Center" Height="110" VerticalAlignment="Top">
|
||||
<Image IsHitTestVisible="False" Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico" Height="64" Width="64" VerticalAlignment="Center" Margin="-8,0,0,0"/>
|
||||
<Label IsHitTestVisible="False" Content="{Binding Path=Title}" VerticalContentAlignment="Center" FontSize="20" Margin="8,0,0,0"/>
|
||||
</StackPanel>
|
||||
</ExperimentalAcrylicBorder>
|
||||
<ExperimentalAcrylicBorder IsHitTestVisible="False">
|
||||
<ExperimentalAcrylicBorder.Material>
|
||||
<ExperimentalAcrylicMaterial TintColor="{DynamicResource ThemeBackgroundBrush}" MaterialOpacity="0.85" TintOpacity="1"/>
|
||||
</ExperimentalAcrylicBorder.Material>
|
||||
<Label Content="{ReflectionBinding #TabControl.SelectedItem.Header}" Margin="20 15" FontSize="32"/>
|
||||
</ExperimentalAcrylicBorder>
|
||||
</DockPanel>
|
||||
|
||||
<TabControl x:Name="TabControl" Classes="sidebar" Margin="0 40 0 0">
|
||||
<TabItem Header="{Binding Path=Res.Welcome,Mode=OneWay,Source={x:Static resx:R.Current}}" VerticalContentAlignment="Center">
|
||||
<controls:CardView></controls:CardView>
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.CommunityFix,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.UserFastChange,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.GameList,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
<pages:GameList />
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.SteamAuth,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.IdleCard,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.GameRelated,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.Settings,Mode=OneWay,Source={x:Static resx:R.Current}}">
|
||||
<pages:SettingsPage />
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding Path=Res.About,Source={x:Static resx:R.Current}}">
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
+27
@@ -18,6 +18,12 @@
|
||||
<AvaloniaResource Include="Application\UI\Assets\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Application\UI\Styles\Controls.xaml" />
|
||||
<None Remove="Application\UI\Styles\Theme.Dark.xaml" />
|
||||
<None Remove="Application\UI\Styles\Theme.light.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\System.Common.CoreLib\Properties\AssemblyInfo.cs">
|
||||
<Link>Properties\AssemblyInfo.cs</Link>
|
||||
@@ -41,4 +47,25 @@
|
||||
<ItemGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AvaloniaResource Update="Application\UI\Styles\Controls.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</AvaloniaResource>
|
||||
<AvaloniaResource Update="Application\UI\Styles\Theme.Light.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</AvaloniaResource>
|
||||
<AvaloniaResource Update="Application\UI\Styles\Theme.Dark.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</AvaloniaResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Application\UI\Pages\GameListPage.axaml.cs">
|
||||
<DependentUpon>GameListPage.axaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="Application\UI\Pages\SteamAccountPage.axaml.cs">
|
||||
<DependentUpon>SteamAccountPage.axaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+1
@@ -69,5 +69,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="UI\ViewModels\Pages\" />
|
||||
<Folder Include="UI\ViewModels\Windows\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user