Add project files.
This commit is contained in:
18
ViewModels/Pages/DashboardViewModel.cs
Normal file
18
ViewModels/Pages/DashboardViewModel.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
// 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.
|
||||
|
||||
namespace DownloadManager.ViewModels.Pages;
|
||||
|
||||
public partial class DashboardViewModel : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
private int _counter = 0;
|
||||
|
||||
[RelayCommand]
|
||||
private void OnCounterIncrement()
|
||||
{
|
||||
Counter++;
|
||||
}
|
||||
}
|
||||
52
ViewModels/Pages/DataViewModel.cs
Normal file
52
ViewModels/Pages/DataViewModel.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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.Media;
|
||||
using DownloadManager.Models;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace DownloadManager.ViewModels.Pages;
|
||||
public partial class DataViewModel : ObservableObject, INavigationAware
|
||||
{
|
||||
private bool _isInitialized = false;
|
||||
|
||||
[ObservableProperty]
|
||||
private IEnumerable<DataColor> _colors;
|
||||
|
||||
public void OnNavigatedTo()
|
||||
{
|
||||
if (!_isInitialized)
|
||||
InitializeViewModel();
|
||||
}
|
||||
|
||||
public void OnNavigatedFrom()
|
||||
{
|
||||
}
|
||||
|
||||
private void InitializeViewModel()
|
||||
{
|
||||
var random = new Random();
|
||||
var colorCollection = new List<DataColor>();
|
||||
|
||||
for (int i = 0; i < 8192; i++)
|
||||
colorCollection.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)
|
||||
)
|
||||
)
|
||||
}
|
||||
);
|
||||
|
||||
Colors = colorCollection;
|
||||
|
||||
_isInitialized = true;
|
||||
}
|
||||
}
|
||||
68
ViewModels/Pages/SettingsViewModel.cs
Normal file
68
ViewModels/Pages/SettingsViewModel.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
// 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 Wpf.Ui.Appearance;
|
||||
using Wpf.Ui.Controls;
|
||||
|
||||
namespace DownloadManager.ViewModels.Pages;
|
||||
public partial class SettingsViewModel : ObservableObject, INavigationAware
|
||||
{
|
||||
private bool _isInitialized = false;
|
||||
|
||||
[ObservableProperty]
|
||||
private string _appVersion = String.Empty;
|
||||
|
||||
[ObservableProperty]
|
||||
private ApplicationTheme _currentTheme = ApplicationTheme.Unknown;
|
||||
|
||||
public void OnNavigatedTo()
|
||||
{
|
||||
if (!_isInitialized)
|
||||
InitializeViewModel();
|
||||
}
|
||||
|
||||
public void OnNavigatedFrom()
|
||||
{
|
||||
}
|
||||
|
||||
private void InitializeViewModel()
|
||||
{
|
||||
CurrentTheme = ApplicationThemeManager.GetAppTheme();
|
||||
AppVersion = $"UiDesktopApp1 - {GetAssemblyVersion()}";
|
||||
|
||||
_isInitialized = true;
|
||||
}
|
||||
|
||||
private string GetAssemblyVersion()
|
||||
{
|
||||
return System.Reflection.Assembly.GetExecutingAssembly().GetName().Version?.ToString()
|
||||
?? String.Empty;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void OnChangeTheme(string parameter)
|
||||
{
|
||||
switch (parameter)
|
||||
{
|
||||
case "theme_light":
|
||||
if (CurrentTheme == ApplicationTheme.Light)
|
||||
break;
|
||||
|
||||
ApplicationThemeManager.Apply(ApplicationTheme.Light);
|
||||
CurrentTheme = ApplicationTheme.Light;
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
if (CurrentTheme == ApplicationTheme.Dark)
|
||||
break;
|
||||
|
||||
ApplicationThemeManager.Apply(ApplicationTheme.Dark);
|
||||
CurrentTheme = ApplicationTheme.Dark;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user