更新客户端渲染,更新了壳
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
<Page
|
||||
x:Class="Wpf.Ui.Demo.SetResources.Simple.Views.Pages.DashboardPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
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:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="DashboardPage"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
mc:Ignorable="d"
|
||||
>
|
||||
<Grid Margin="42" VerticalAlignment="Top">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ui:Button
|
||||
Grid.Column="0"
|
||||
Click="OnBaseButtonClick"
|
||||
Content="Click me!"
|
||||
Icon="{ui:SymbolIcon Fluent24}"
|
||||
/>
|
||||
<TextBlock x:Name="CounterTextBlock" Grid.Column="1" Margin="12,0,0,0" VerticalAlignment="Center" />
|
||||
</Grid>
|
||||
</Page>
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using System.Windows;
|
||||
|
||||
namespace Wpf.Ui.Demo.SetResources.Simple.Views.Pages;
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for DashboardPage.xaml
|
||||
/// </summary>
|
||||
public partial class DashboardPage
|
||||
{
|
||||
private int _counter = 0;
|
||||
|
||||
public DashboardPage()
|
||||
{
|
||||
App.ApplyTheme(this);
|
||||
|
||||
DataContext = this;
|
||||
InitializeComponent();
|
||||
|
||||
CounterTextBlock.SetCurrentValue(System.Windows.Controls.TextBlock.TextProperty, _counter.ToString());
|
||||
}
|
||||
|
||||
private void OnBaseButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
CounterTextBlock.SetCurrentValue(
|
||||
System.Windows.Controls.TextBlock.TextProperty,
|
||||
(++_counter).ToString()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
<Page
|
||||
x:Class="Wpf.Ui.Demo.SetResources.Simple.Views.Pages.DataPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
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:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
xmlns:models="clr-namespace:Wpf.Ui.Demo.SetResources.Simple.Models"
|
||||
Title="DataPage"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
mc:Ignorable="d"
|
||||
>
|
||||
<Grid Margin="42">
|
||||
<ui:VirtualizingItemsControl
|
||||
x:Name="ColorsItemsControl"
|
||||
Foreground="{DynamicResource TextFillColorSecondaryBrush}"
|
||||
VirtualizingPanel.CacheLengthUnit="Item"
|
||||
>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type models:DataColor}">
|
||||
<ui:Button
|
||||
Width="80"
|
||||
Height="80"
|
||||
Margin="2"
|
||||
Padding="0"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Appearance="Secondary"
|
||||
Background="{Binding Color, Mode=OneWay}"
|
||||
FontSize="25"
|
||||
Icon="Fluent24"
|
||||
/>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ui:VirtualizingItemsControl>
|
||||
</Grid>
|
||||
</Page>
|
||||
@@ -0,0 +1,51 @@
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Windows.Media;
|
||||
using Wpf.Ui.Demo.SetResources.Simple.Models;
|
||||
|
||||
namespace Wpf.Ui.Demo.SetResources.Simple.Views.Pages;
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for DataView.xaml
|
||||
/// </summary>
|
||||
public partial class DataPage
|
||||
{
|
||||
public ObservableCollection<DataColor> ColorsCollection { get; private set; } = [];
|
||||
|
||||
public DataPage()
|
||||
{
|
||||
App.ApplyTheme(this);
|
||||
|
||||
InitializeData();
|
||||
InitializeComponent();
|
||||
|
||||
ColorsItemsControl.ItemsSource = ColorsCollection;
|
||||
}
|
||||
|
||||
private void InitializeData()
|
||||
{
|
||||
var random = new Random();
|
||||
|
||||
for (int i = 0; i < 8192; i++)
|
||||
{
|
||||
ColorsCollection.Add(
|
||||
new DataColor
|
||||
{
|
||||
Color = new SolidColorBrush(
|
||||
Color.FromArgb(
|
||||
(byte)200,
|
||||
(byte)random.Next(0, 250),
|
||||
(byte)random.Next(0, 250),
|
||||
(byte)random.Next(0, 250)
|
||||
)
|
||||
),
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
<Page
|
||||
x:Class="Wpf.Ui.Demo.SetResources.Simple.Views.Pages.ExpanderPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Wpf.Ui.Demo.SetResources.Simple.Views.Pages"
|
||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
mc:Ignorable="d"
|
||||
Title="ExpanderPage"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
ScrollViewer.CanContentScroll="False"
|
||||
>
|
||||
<Grid>
|
||||
<ui:DataGrid x:Name="Group" SelectionMode="Single" AutoGenerateColumns="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridCheckBoxColumn Header="#" Binding="{Binding Selected}" />
|
||||
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
|
||||
</DataGrid.Columns>
|
||||
<DataGrid.GroupStyle>
|
||||
<GroupStyle>
|
||||
<GroupStyle.ContainerStyle>
|
||||
<Style TargetType="{x:Type GroupItem}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type GroupItem}">
|
||||
<Grid>
|
||||
<Expander IsExpanded="True">
|
||||
<Expander.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock
|
||||
Margin="10"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding Name,
|
||||
StringFormat=Group name: {0}}"
|
||||
></TextBlock>
|
||||
</StackPanel>
|
||||
</Expander.Header>
|
||||
<ItemsPresenter />
|
||||
</Expander>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</GroupStyle.ContainerStyle>
|
||||
</GroupStyle>
|
||||
</DataGrid.GroupStyle>
|
||||
</ui:DataGrid>
|
||||
</Grid>
|
||||
</Page>
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using Wpf.Ui.Demo.SetResources.Simple.Models;
|
||||
|
||||
namespace Wpf.Ui.Demo.SetResources.Simple.Views.Pages;
|
||||
|
||||
public partial class ExpanderPage
|
||||
{
|
||||
public ObservableCollection<DataGroup> GroupCollection { get; private set; } = [];
|
||||
|
||||
public ExpanderPage()
|
||||
{
|
||||
App.ApplyTheme(this);
|
||||
|
||||
InitializeData();
|
||||
InitializeComponent();
|
||||
|
||||
ICollectionView collectionView = CollectionViewSource.GetDefaultView(GroupCollection);
|
||||
collectionView.GroupDescriptions.Add(new PropertyGroupDescription(nameof(DataGroup.GroupName)));
|
||||
|
||||
Group.ItemsSource = collectionView;
|
||||
}
|
||||
|
||||
private void InitializeData()
|
||||
{
|
||||
GroupCollection.Add(new DataGroup(false, "Audi", "Auto"));
|
||||
GroupCollection.Add(new DataGroup(false, "Samsung S24 Ultra", "Phone"));
|
||||
GroupCollection.Add(new DataGroup(true, "Apple iPhone 16 Pro", "Phone"));
|
||||
GroupCollection.Add(new DataGroup(true, "Bugatti", "Auto"));
|
||||
GroupCollection.Add(new DataGroup(false, "Lamborghini", "Auto"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<Page
|
||||
x:Class="Wpf.Ui.Demo.SetResources.Simple.Views.Pages.SettingsPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
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:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
||||
Title="SettingsPage"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
ui:Design.Background="{DynamicResource ApplicationBackgroundBrush}"
|
||||
ui:Design.Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||||
mc:Ignorable="d"
|
||||
>
|
||||
<StackPanel Margin="42">
|
||||
<TextBlock FontSize="20" FontWeight="Medium" Text="Personalization" />
|
||||
<TextBlock Margin="0,12,0,0" Text="Theme" />
|
||||
<RadioButton
|
||||
x:Name="LightThemeRadioButton"
|
||||
Margin="0,12,0,0"
|
||||
Checked="OnLightThemeRadioButtonChecked"
|
||||
Content="Light"
|
||||
GroupName="themeSelect"
|
||||
/>
|
||||
<RadioButton
|
||||
x:Name="DarkThemeRadioButton"
|
||||
Margin="0,8,0,0"
|
||||
Checked="OnDarkThemeRadioButtonChecked"
|
||||
Content="Dark"
|
||||
GroupName="themeSelect"
|
||||
/>
|
||||
<TextBlock Margin="0,24,0,0" FontSize="20" FontWeight="Medium" Text="About WPF UI - Simple Demo" />
|
||||
<TextBlock x:Name="AppVersionTextBlock" Margin="0,12,0,0" />
|
||||
</StackPanel>
|
||||
</Page>
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// This Source Code Form is subject to the terms of the MIT License.
|
||||
// If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using System.Windows;
|
||||
using Wpf.Ui.Appearance;
|
||||
|
||||
namespace Wpf.Ui.Demo.SetResources.Simple.Views.Pages;
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for SettingsPage.xaml
|
||||
/// </summary>
|
||||
public partial class SettingsPage
|
||||
{
|
||||
public SettingsPage()
|
||||
{
|
||||
App.ApplyTheme(this);
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
AppVersionTextBlock.Text = $"WPF UI - Simple Demo - {GetAssemblyVersion()}";
|
||||
|
||||
if (Appearance.ApplicationThemeManager.GetAppTheme() == ApplicationTheme.Dark)
|
||||
{
|
||||
DarkThemeRadioButton.IsChecked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
LightThemeRadioButton.IsChecked = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnLightThemeRadioButtonChecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
App.Apply(ApplicationTheme.Light);
|
||||
}
|
||||
|
||||
private void OnDarkThemeRadioButtonChecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
App.Apply(ApplicationTheme.Dark);
|
||||
}
|
||||
|
||||
private static string GetAssemblyVersion()
|
||||
{
|
||||
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version?.ToString()
|
||||
?? string.Empty;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user