Add DataGrid to the About page
This commit is contained in:
parent
47f5732b84
commit
caea418ab5
@ -1,6 +1,9 @@
|
|||||||
<Application xmlns="https://github.com/avaloniaui"
|
<Application xmlns="https://github.com/avaloniaui"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
x:Class="AvaloniaCoreRTDemo.App">
|
x:Class="AvaloniaCoreRTDemo.App">
|
||||||
|
<Application.Styles>
|
||||||
|
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
|
||||||
|
</Application.Styles>
|
||||||
<Application.Resources>
|
<Application.Resources>
|
||||||
<FluentTheme x:Key="fluentTheme" Mode="Light" />
|
<FluentTheme x:Key="fluentTheme" Mode="Light" />
|
||||||
<SimpleTheme x:Key="simpleTheme" Mode="Light" />
|
<SimpleTheme x:Key="simpleTheme" Mode="Light" />
|
||||||
|
@ -52,19 +52,19 @@ namespace AvaloniaCoreRTDemo
|
|||||||
{
|
{
|
||||||
case ApplicationTheme.SimpleLight:
|
case ApplicationTheme.SimpleLight:
|
||||||
this._simpleTheme.Mode = SimpleThemeMode.Light;
|
this._simpleTheme.Mode = SimpleThemeMode.Light;
|
||||||
this.Styles[0] = this._simpleTheme;
|
this.Styles[1] = this._simpleTheme;
|
||||||
break;
|
break;
|
||||||
case ApplicationTheme.SimpleDark:
|
case ApplicationTheme.SimpleDark:
|
||||||
this._simpleTheme.Mode = SimpleThemeMode.Dark;
|
this._simpleTheme.Mode = SimpleThemeMode.Dark;
|
||||||
this.Styles[0] = this._simpleTheme;
|
this.Styles[1] = this._simpleTheme;
|
||||||
break;
|
break;
|
||||||
case ApplicationTheme.FluentLight:
|
case ApplicationTheme.FluentLight:
|
||||||
this._fluentTheme.Mode = FluentThemeMode.Light;
|
this._fluentTheme.Mode = FluentThemeMode.Light;
|
||||||
this.Styles[0] = this._fluentTheme;
|
this.Styles[1] = this._fluentTheme;
|
||||||
break;
|
break;
|
||||||
case ApplicationTheme.FluentDark:
|
case ApplicationTheme.FluentDark:
|
||||||
this._fluentTheme.Mode = FluentThemeMode.Dark;
|
this._fluentTheme.Mode = FluentThemeMode.Dark;
|
||||||
this.Styles[0] = this._fluentTheme;
|
this.Styles[1] = this._fluentTheme;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="11.0.999-cibuild0026098-beta" />
|
<PackageReference Include="Avalonia" Version="11.0.999-cibuild0026098-beta" />
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="11.0.999-cibuild0026098-beta" />
|
<PackageReference Include="Avalonia.Desktop" Version="11.0.999-cibuild0026098-beta" />
|
||||||
|
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.0.999-cibuild0026098-beta" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.999-cibuild0026098-beta" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="11.0.999-cibuild0026098-beta" />
|
||||||
<PackageReference Include="Avalonia.Themes.Simple" Version="11.0.999-cibuild0026098-beta" />
|
<PackageReference Include="Avalonia.Themes.Simple" Version="11.0.999-cibuild0026098-beta" />
|
||||||
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.999-cibuild0026098-beta" />
|
<PackageReference Include="Avalonia.Themes.Fluent" Version="11.0.999-cibuild0026098-beta" />
|
||||||
|
@ -1,67 +1,20 @@
|
|||||||
<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"
|
<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"
|
||||||
xmlns:viewModels="clr-namespace:AvaloniaCoreRTDemo.Windows.ViewModels"
|
xmlns:viewModels="clr-namespace:AvaloniaCoreRTDemo.Windows.ViewModels"
|
||||||
mc:Ignorable="d" x:Class="AvaloniaCoreRTDemo.Windows.AboutWindow" d:DesignWidth="640" d:DesignHeight="256"
|
mc:Ignorable="d" x:Class="AvaloniaCoreRTDemo.Windows.AboutWindow" d:DesignWidth="640" d:DesignHeight="256"
|
||||||
WindowState="Normal" WindowStartupLocation="CenterOwner" MinHeight="256" MinWidth="640" Height="256" Width="640" MaxHeight="256" MaxWidth="640" Title="About" CanResize="false" ShowInTaskbar="False" Icon="avares://AvaloniaCoreRTDemo/Assets/about.ico"
|
WindowState="Normal" WindowStartupLocation="CenterOwner" Height="256" MaxWidth="840"
|
||||||
|
SizeToContent="Width"
|
||||||
|
Title="About"
|
||||||
|
CanResize="false" ShowInTaskbar="False" Icon="avares://AvaloniaCoreRTDemo/Assets/about.ico"
|
||||||
x:CompileBindings="True"
|
x:CompileBindings="True"
|
||||||
x:DataType="viewModels:AboutViewModel">
|
x:DataType="viewModels:AboutViewModel">
|
||||||
<Grid VerticalAlignment="Top" HorizontalAlignment="Left" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
<Grid VerticalAlignment="Top" HorizontalAlignment="Left" ColumnDefinitions="Auto,*">
|
||||||
<Image Margin="0, 60" Grid.Row="0" Grid.Column="0" Stretch="None" Source="{Binding ComputerImage}" VerticalAlignment="Top" HorizontalAlignment="Left">
|
<Image Margin="0, 60" Grid.Column="0" Stretch="None" Source="{Binding ComputerImage}" VerticalAlignment="Top" HorizontalAlignment="Left">
|
||||||
</Image>
|
</Image>
|
||||||
<ScrollViewer Margin="0, 10" Width="500" Height="230" Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto">
|
<DataGrid Grid.Column="1" Items="{Binding SystemDetails}" IsReadOnly="True">
|
||||||
<Grid ColumnDefinitions="Auto" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto">
|
<DataGrid.Columns>
|
||||||
<Grid Grid.Row="0" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
<DataGridTextColumn Header="Key" Binding="{Binding Key, x:DataType=viewModels:SystemDetail}" FontWeight="Bold" />
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Number of Cores: "/>
|
<DataGridTextColumn Header="Value" Binding="{Binding Value, x:DataType=viewModels:SystemDetail}" />
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding NCores}"/>
|
</DataGrid.Columns>
|
||||||
</Grid>
|
</DataGrid>
|
||||||
<Grid Grid.Row="1" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="OS: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding OS}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="2" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="OS Arch: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding OSArch}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="3" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="OS Version: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding OSVersion}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="4" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Computer: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding ComputerName}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="5" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="User: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding UserName}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="6" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="System Path: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding SystemPath}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="7" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Current Path: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding CurrentPath}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="8" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Process Arch: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding ProcessArch}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="9" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Runtime Name: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding RuntimeName}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="10" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Runtime Path: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding RuntimePath}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="11" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Runtime Version: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding RuntimeVersion}"/>
|
|
||||||
</Grid>
|
|
||||||
<Grid Grid.Row="12" Grid.Column="0" ColumnDefinitions="Auto,Auto" RowDefinitions="Auto">
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" FontWeight="Bold" Text="Framework Version: "/>
|
|
||||||
<TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left" Text="{Binding FrameworkVersion}"/>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</ScrollViewer>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
x:DataType="viewModels1:MainViewModelBase">
|
x:DataType="viewModels1:MainViewModelBase">
|
||||||
<DockPanel>
|
<DockPanel>
|
||||||
<NativeMenuBar DockPanel.Dock="Top" />
|
<NativeMenuBar DockPanel.Dock="Top" />
|
||||||
|
<StackPanel DockPanel.Dock="Top">
|
||||||
|
<Button Content="About" Command="{Binding HelpAboutMethod}" />
|
||||||
|
</StackPanel>
|
||||||
<controls:MainControl/>
|
<controls:MainControl/>
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
<NativeMenu.Menu>
|
<NativeMenu.Menu>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
using Avalonia.Media.Imaging;
|
using Avalonia.Media.Imaging;
|
||||||
@ -7,25 +8,32 @@ using ReactiveUI;
|
|||||||
|
|
||||||
namespace AvaloniaCoreRTDemo.Windows.ViewModels
|
namespace AvaloniaCoreRTDemo.Windows.ViewModels
|
||||||
{
|
{
|
||||||
|
internal record SystemDetail(string Key, string Value);
|
||||||
|
|
||||||
internal sealed class AboutViewModel : ReactiveObject
|
internal sealed class AboutViewModel : ReactiveObject
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly IBitmap _computerImage;
|
private readonly IBitmap _computerImage;
|
||||||
private readonly Boolean _darkTheme;
|
private readonly Boolean _darkTheme;
|
||||||
|
|
||||||
public IBitmap ComputerImage => _computerImage;
|
public IBitmap ComputerImage => _computerImage;
|
||||||
public String NCores => Environment.ProcessorCount.ToString();
|
|
||||||
public String OS => RuntimeInformation.OSDescription;
|
public IReadOnlyList<SystemDetail> SystemDetails { get; } = new[]
|
||||||
public String OSArch => RuntimeInformation.OSArchitecture.ToString();
|
{
|
||||||
public String OSVersion => Environment.OSVersion.ToString();
|
new SystemDetail("Number of Cores", Environment.ProcessorCount.ToString()),
|
||||||
public String ComputerName => Environment.MachineName;
|
new SystemDetail("OS", RuntimeInformation.OSDescription),
|
||||||
public String UserName => Environment.UserName;
|
new SystemDetail("OS Arch", RuntimeInformation.OSArchitecture.ToString()),
|
||||||
public String SystemPath => Environment.SystemDirectory;
|
new SystemDetail("OS Version", Environment.OSVersion.ToString()),
|
||||||
public String CurrentPath => Environment.CurrentDirectory;
|
new SystemDetail("Computer", Environment.MachineName),
|
||||||
public String ProcessArch => RuntimeInformation.ProcessArchitecture.ToString();
|
new SystemDetail("User", Environment.UserName),
|
||||||
public String RuntimeName => RuntimeInformation.FrameworkDescription;
|
new SystemDetail("System Path", Environment.SystemDirectory),
|
||||||
public String RuntimePath => RuntimeEnvironment.GetRuntimeDirectory();
|
new SystemDetail("Current Path", Environment.CurrentDirectory),
|
||||||
public String RuntimeVersion => RuntimeEnvironment.GetSystemVersion();
|
new SystemDetail("Process Arch", RuntimeInformation.ProcessArchitecture.ToString()),
|
||||||
public String FrameworkVersion => Environment.Version.ToString();
|
new SystemDetail("Runtime Name", RuntimeInformation.FrameworkDescription),
|
||||||
|
new SystemDetail("Runtime Path", RuntimeEnvironment.GetRuntimeDirectory()),
|
||||||
|
new SystemDetail("Runtime Version", RuntimeEnvironment.GetSystemVersion()),
|
||||||
|
new SystemDetail("Framework Version", Environment.Version.ToString()),
|
||||||
|
};
|
||||||
|
|
||||||
private String ComputerImageName
|
private String ComputerImageName
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user