forked from amkovkov/GranuSightSoftware2
refactor: View models
This commit is contained in:
@@ -13,8 +13,9 @@ namespace GSS2.UI.Core.ViewModels;
|
|||||||
public partial class CameraViewModel : ViewModelBase, IDisposable
|
public partial class CameraViewModel : ViewModelBase, IDisposable
|
||||||
{
|
{
|
||||||
private bool _disposedValue;
|
private bool _disposedValue;
|
||||||
private readonly CameraService _cameraService;
|
|
||||||
private readonly ILogger<CameraViewModel> _logger;
|
private readonly ILogger<CameraViewModel> _logger;
|
||||||
|
private readonly CameraService _cameraService;
|
||||||
private readonly System.Timers.Timer _renderTimer;
|
private readonly System.Timers.Timer _renderTimer;
|
||||||
|
|
||||||
public event EventHandler? RenderReqested;
|
public event EventHandler? RenderReqested;
|
||||||
@@ -23,17 +24,20 @@ public partial class CameraViewModel : ViewModelBase, IDisposable
|
|||||||
[ObservableProperty] private Stretch _stretchMode = Stretch.Uniform;
|
[ObservableProperty] private Stretch _stretchMode = Stretch.Uniform;
|
||||||
[ObservableProperty] private TileMode _tileMode = TileMode.None;
|
[ObservableProperty] private TileMode _tileMode = TileMode.None;
|
||||||
|
|
||||||
public CameraViewModel(CameraService cameraService, ILogger<CameraViewModel> logger)
|
public CameraViewModel(ILogger<CameraViewModel> logger, CameraService cameraService)
|
||||||
{
|
{
|
||||||
_cameraService = cameraService;
|
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
|
_cameraService = cameraService;
|
||||||
_renderTimer = new System.Timers.Timer(33);
|
_renderTimer = new System.Timers.Timer(33);
|
||||||
_renderTimer.Elapsed += (_, _) =>
|
_renderTimer.Elapsed += (_, _) =>
|
||||||
{
|
{
|
||||||
if (!_cameraService.IsImageCapturing)
|
if (!_cameraService.IsImageCapturing)
|
||||||
RenderReqested?.Invoke(this, new EventArgs());
|
RenderReqested?.Invoke(this, new EventArgs());
|
||||||
};
|
};
|
||||||
_logger.LogInformation("{} initialized", nameof(CameraViewModel));
|
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartViewFinder()
|
public void StartViewFinder()
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
using GSS2.Core.Hardware;
|
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
using Avalonia.Layout;
|
using Avalonia.Layout;
|
||||||
|
|
||||||
|
using GSS2.Core.Hardware;
|
||||||
|
|
||||||
namespace GSS2.UI.Core.ViewModels;
|
namespace GSS2.UI.Core.ViewModels;
|
||||||
|
|
||||||
public partial class IlluminatorControllerViewModel : ViewModelBase
|
public partial class IlluminatorControllerViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
private readonly IlluminatorService _illuminatorService;
|
|
||||||
private readonly ILogger<IlluminatorControllerViewModel> _logger;
|
private readonly ILogger<IlluminatorControllerViewModel> _logger;
|
||||||
|
private readonly IlluminatorService _illuminatorService;
|
||||||
|
|
||||||
private bool _whiteIntencityChanging = false;
|
private bool _whiteIntencityChanging = false;
|
||||||
private bool _uv365IntencityChanging = false;
|
private bool _uv365IntencityChanging = false;
|
||||||
@@ -23,16 +23,19 @@ public partial class IlluminatorControllerViewModel : ViewModelBase
|
|||||||
[ObservableProperty] private bool _enabled;
|
[ObservableProperty] private bool _enabled;
|
||||||
[ObservableProperty] Orientation _orientation;
|
[ObservableProperty] Orientation _orientation;
|
||||||
|
|
||||||
public IlluminatorControllerViewModel(IlluminatorService illuminatorService, ILogger<IlluminatorControllerViewModel> logger)
|
public IlluminatorControllerViewModel(ILogger<IlluminatorControllerViewModel> logger, IlluminatorService illuminatorService)
|
||||||
{
|
{
|
||||||
_illuminatorService = illuminatorService;
|
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
|
_illuminatorService = illuminatorService;
|
||||||
|
|
||||||
WhiteIntencity = 0;
|
WhiteIntencity = 0;
|
||||||
Uv365Intencity = 0;
|
Uv365Intencity = 0;
|
||||||
Uv254Intencity = 0;
|
Uv254Intencity = 0;
|
||||||
Orientation = Orientation.Horizontal;
|
Orientation = Orientation.Horizontal;
|
||||||
Enabled = false;
|
Enabled = false;
|
||||||
|
|
||||||
_logger.LogInformation("Initialized");
|
_logger.LogInformation("Initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
namespace GSS2.UI.Core.ViewModels;
|
||||||
|
|
||||||
|
public partial class MainWindowViewModel : ViewModelBase
|
||||||
|
{
|
||||||
|
private readonly ILogger<MainWindowViewModel> _logger;
|
||||||
|
|
||||||
|
[ObservableProperty] private string _title;
|
||||||
|
|
||||||
|
public MainWindowViewModel(ILogger<MainWindowViewModel> logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
|
Title = "GranuSight Software 2";
|
||||||
|
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,23 +1,32 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
using Avalonia;
|
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
|
using Avalonia;
|
||||||
|
|
||||||
using LiveChartsCore;
|
using LiveChartsCore;
|
||||||
using LiveChartsCore.Defaults;
|
using LiveChartsCore.Defaults;
|
||||||
using LiveChartsCore.SkiaSharpView;
|
using LiveChartsCore.SkiaSharpView;
|
||||||
|
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace GSS2.UI.Core.ViewModels;
|
namespace GSS2.UI.Core.ViewModels;
|
||||||
|
|
||||||
public partial class ResourceBarViewModel : ViewModelBase
|
public partial class ResourceBarViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
|
private readonly ILogger<ResourceBarViewModel> _logger;
|
||||||
|
|
||||||
[ObservableProperty] private ObservableCollection<ISeries> _series;
|
[ObservableProperty] private ObservableCollection<ISeries> _series;
|
||||||
[ObservableProperty] private Rect _bounds;
|
[ObservableProperty] private Rect _bounds;
|
||||||
|
|
||||||
public ResourceBarViewModel(IEnumerable<ISeries> series)
|
public ResourceBarViewModel(ILogger<ResourceBarViewModel> logger, IEnumerable<ISeries> series)
|
||||||
{
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
Series = new ObservableCollection<ISeries>(series);
|
Series = new ObservableCollection<ISeries>(series);
|
||||||
|
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
partial void OnBoundsChanged(Rect value)
|
partial void OnBoundsChanged(Rect value)
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
using Avalonia;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
|
using Avalonia;
|
||||||
|
|
||||||
using LiveChartsCore;
|
using LiveChartsCore;
|
||||||
using LiveChartsCore.SkiaSharpView;
|
using LiveChartsCore.SkiaSharpView;
|
||||||
|
|
||||||
@@ -11,16 +13,22 @@ namespace GSS2.UI.Core.ViewModels;
|
|||||||
|
|
||||||
public partial class ResourceChartViewModel : ViewModelBase
|
public partial class ResourceChartViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
|
private readonly ILogger<ResourceChartViewModel> _logger;
|
||||||
[ObservableProperty] private ObservableCollection<ISeries> _series;
|
[ObservableProperty] private ObservableCollection<ISeries> _series;
|
||||||
[ObservableProperty] private ObservableCollection<Axis> _yAxes;
|
[ObservableProperty] private ObservableCollection<Axis> _yAxes;
|
||||||
[ObservableProperty] private ObservableCollection<Axis> _xAxes;
|
[ObservableProperty] private ObservableCollection<Axis> _xAxes;
|
||||||
[ObservableProperty] private Rect _bounds;
|
[ObservableProperty] private Rect _bounds;
|
||||||
|
|
||||||
public ResourceChartViewModel(IEnumerable<ISeries> series, IEnumerable<Axis> yAxes, IEnumerable<Axis> xAxes)
|
public ResourceChartViewModel(ILogger<ResourceChartViewModel> logger, IEnumerable<ISeries> series, IEnumerable<Axis> yAxes, IEnumerable<Axis> xAxes)
|
||||||
{
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
Series = new ObservableCollection<ISeries>(series);
|
Series = new ObservableCollection<ISeries>(series);
|
||||||
YAxes = new ObservableCollection<Axis>(yAxes);
|
YAxes = new ObservableCollection<Axis>(yAxes);
|
||||||
XAxes = new ObservableCollection<Axis>(xAxes);
|
XAxes = new ObservableCollection<Axis>(xAxes);
|
||||||
|
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
partial void OnBoundsChanged(Rect value)
|
partial void OnBoundsChanged(Rect value)
|
||||||
|
|||||||
@@ -1,27 +1,42 @@
|
|||||||
using Avalonia;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
|
using Avalonia;
|
||||||
|
|
||||||
namespace GSS2.UI.Core.ViewModels;
|
namespace GSS2.UI.Core.ViewModels;
|
||||||
|
|
||||||
public partial class ResourceCpuUsageBarsViewModel : ViewModelBase
|
public partial class ResourceCpuUsageBarsViewModel : ViewModelBase
|
||||||
{
|
{
|
||||||
|
private readonly ILogger<ResourceCpuUsageBarsViewModel> _logger;
|
||||||
|
|
||||||
[ObservableProperty] private Rect _bounds;
|
[ObservableProperty] private Rect _bounds;
|
||||||
[ObservableProperty] private bool _isCoresColumnVisible;
|
[ObservableProperty] private bool _isCoresColumnVisible;
|
||||||
|
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpu;
|
[ObservableProperty] private ResourceBarViewModel _cpu;
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpu0;
|
[ObservableProperty] private ResourceBarViewModel _cpu0;
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpu1;
|
[ObservableProperty] private ResourceBarViewModel _cpu1;
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpu2;
|
[ObservableProperty] private ResourceBarViewModel _cpu2;
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpu3;
|
[ObservableProperty] private ResourceBarViewModel _cpu3;
|
||||||
|
|
||||||
public ResourceCpuUsageBarsViewModel(ResourceBarViewModel cpu, ResourceBarViewModel cpu0, ResourceBarViewModel cpu1, ResourceBarViewModel cpu2, ResourceBarViewModel cpu3)
|
public ResourceCpuUsageBarsViewModel(
|
||||||
|
ILogger<ResourceCpuUsageBarsViewModel> logger,
|
||||||
|
ResourceBarViewModel cpu,
|
||||||
|
ResourceBarViewModel cpu0,
|
||||||
|
ResourceBarViewModel cpu1,
|
||||||
|
ResourceBarViewModel cpu2,
|
||||||
|
ResourceBarViewModel cpu3
|
||||||
|
)
|
||||||
{
|
{
|
||||||
|
_logger = logger;
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
|
|
||||||
Cpu = cpu;
|
Cpu = cpu;
|
||||||
Cpu0 = cpu0;
|
Cpu0 = cpu0;
|
||||||
Cpu1 = cpu1;
|
Cpu1 = cpu1;
|
||||||
Cpu2 = cpu2;
|
Cpu2 = cpu2;
|
||||||
Cpu3 = cpu3;
|
Cpu3 = cpu3;
|
||||||
|
|
||||||
|
_logger.LogInformation("Initialized");
|
||||||
}
|
}
|
||||||
|
|
||||||
partial void OnBoundsChanged(Rect value)
|
partial void OnBoundsChanged(Rect value)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using Microsoft.Extensions.Logging;
|
|||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
|
||||||
|
using Avalonia;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
|
|
||||||
using SkiaSharp;
|
using SkiaSharp;
|
||||||
@@ -13,13 +14,13 @@ using LiveChartsCore.SkiaSharpView.Painting;
|
|||||||
using LiveChartsCore.Defaults;
|
using LiveChartsCore.Defaults;
|
||||||
|
|
||||||
using GSS2.Core.Hardware;
|
using GSS2.Core.Hardware;
|
||||||
using Avalonia;
|
|
||||||
|
|
||||||
namespace GSS2.UI.Core.ViewModels;
|
namespace GSS2.UI.Core.ViewModels;
|
||||||
|
|
||||||
public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
||||||
{
|
{
|
||||||
private bool _disposedValue;
|
private bool _disposedValue;
|
||||||
|
|
||||||
private readonly ComputeResourcesService _computeResourcesService;
|
private readonly ComputeResourcesService _computeResourcesService;
|
||||||
private readonly ILogger<ResourcesViewModel> _logger;
|
private readonly ILogger<ResourcesViewModel> _logger;
|
||||||
private readonly int _intervalMs = 500;
|
private readonly int _intervalMs = 500;
|
||||||
@@ -29,26 +30,38 @@ public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
|||||||
[ObservableProperty] private Rect _bounds;
|
[ObservableProperty] private Rect _bounds;
|
||||||
[ObservableProperty] private bool _isChartsColumnVisible;
|
[ObservableProperty] private bool _isChartsColumnVisible;
|
||||||
[ObservableProperty] private bool _isBarsColumnVisible;
|
[ObservableProperty] private bool _isBarsColumnVisible;
|
||||||
|
|
||||||
[ObservableProperty] private ResourceChartViewModel _cpuUsageChartViewModel;
|
[ObservableProperty] private ResourceChartViewModel _cpuUsageChartViewModel;
|
||||||
[ObservableProperty] private ResourceChartViewModel _cpuTemperatureChartViewModel;
|
[ObservableProperty] private ResourceChartViewModel _cpuTemperatureChartViewModel;
|
||||||
[ObservableProperty] private ResourceChartViewModel _memoryUsageChartViewModel;
|
[ObservableProperty] private ResourceChartViewModel _memoryUsageChartViewModel;
|
||||||
|
|
||||||
[ObservableProperty] private ResourceCpuUsageBarsViewModel _cpuUsageBarsViewModel;
|
[ObservableProperty] private ResourceCpuUsageBarsViewModel _cpuUsageBarsViewModel;
|
||||||
[ObservableProperty] private ResourceBarViewModel _cpuTemperatureBarViewModel;
|
[ObservableProperty] private ResourceBarViewModel _cpuTemperatureBarViewModel;
|
||||||
[ObservableProperty] private ResourceBarViewModel _memoryUsageBarViewModel;
|
[ObservableProperty] private ResourceBarViewModel _memoryUsageBarViewModel;
|
||||||
|
|
||||||
public ResourcesViewModel(ComputeResourcesService computeResourcesService, ILogger<ResourcesViewModel> logger)
|
public ResourcesViewModel(
|
||||||
|
ILogger<ResourcesViewModel> logger,
|
||||||
|
ILogger<ResourceCpuUsageBarsViewModel> resourceCpuUsageBarsViewModelLogger,
|
||||||
|
ILogger<ResourceChartViewModel> resourceChartViewModelCpuUsageLogger,
|
||||||
|
ILogger<ResourceChartViewModel> resourceChartViewModelCpuTemperatureLogger,
|
||||||
|
ILogger<ResourceChartViewModel> resourceChartViewModelMemoryUsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpuUsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpu0UsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpu1UsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpu2UsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpu3UsageLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelCpuTemperatureLogger,
|
||||||
|
ILogger<ResourceBarViewModel> resourceBarViewModelMemoryUsageLogger,
|
||||||
|
ComputeResourcesService computeResourcesService
|
||||||
|
)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
|
||||||
_logger.LogInformation("Initialization");
|
_logger.LogInformation("Initialization");
|
||||||
|
|
||||||
_computeResourcesService = computeResourcesService;
|
_computeResourcesService = computeResourcesService;
|
||||||
|
|
||||||
ResourceChartViewModel CreateChartViewModel(string name, double minLimit, double maxLimit, double minStep)
|
ResourceChartViewModel CreateChartViewModel(ILogger<ResourceChartViewModel> logger, string name, double minLimit, double maxLimit, double minStep)
|
||||||
{
|
{
|
||||||
return new ResourceChartViewModel(
|
return new ResourceChartViewModel(
|
||||||
|
logger: logger,
|
||||||
series:
|
series:
|
||||||
[
|
[
|
||||||
new LineSeries<double>
|
new LineSeries<double>
|
||||||
@@ -85,9 +98,10 @@ public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
ResourceBarViewModel CreateBarViewModel(Func<LiveChartsCore.Kernel.ChartPoint<ObservableValue, LiveChartsCore.SkiaSharpView.Drawing.Geometries.DoughnutGeometry, LiveChartsCore.SkiaSharpView.Drawing.Geometries.LabelGeometry>, string> formater)
|
ResourceBarViewModel CreateBarViewModel(ILogger<ResourceBarViewModel> logger, Func<LiveChartsCore.Kernel.ChartPoint<ObservableValue, LiveChartsCore.SkiaSharpView.Drawing.Geometries.DoughnutGeometry, LiveChartsCore.SkiaSharpView.Drawing.Geometries.LabelGeometry>, string> formater)
|
||||||
{
|
{
|
||||||
return new ResourceBarViewModel(
|
return new ResourceBarViewModel(
|
||||||
|
logger: logger,
|
||||||
series:
|
series:
|
||||||
[
|
[
|
||||||
new PieSeries<ObservableValue>
|
new PieSeries<ObservableValue>
|
||||||
@@ -113,19 +127,20 @@ public partial class ResourcesViewModel : ViewModelBase, IDisposable
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
CpuUsageChartViewModel = CreateChartViewModel("Нагрузка ЦПУ, %", 0, 100, 10);
|
CpuUsageChartViewModel = CreateChartViewModel(resourceChartViewModelCpuUsageLogger, "Нагрузка ЦПУ, %", 0, 100, 10);
|
||||||
CpuTemperatureChartViewModel = CreateChartViewModel("Температура ЦПУ, ℃", 0, 100, 10);
|
CpuTemperatureChartViewModel = CreateChartViewModel(resourceChartViewModelCpuTemperatureLogger, "Температура ЦПУ, ℃", 0, 100, 10);
|
||||||
MemoryUsageChartViewModel = CreateChartViewModel("Нагрузка ОЗУ, МБ", 0, 8000, 1000);
|
MemoryUsageChartViewModel = CreateChartViewModel(resourceChartViewModelMemoryUsageLogger, "Нагрузка ОЗУ, МБ", 0, 8000, 1000);
|
||||||
|
|
||||||
CpuUsageBarsViewModel = new ResourceCpuUsageBarsViewModel(
|
CpuUsageBarsViewModel = new ResourceCpuUsageBarsViewModel(
|
||||||
CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
resourceCpuUsageBarsViewModelLogger,
|
||||||
CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
CreateBarViewModel(resourceBarViewModelCpuUsageLogger, value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
||||||
CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
CreateBarViewModel(resourceBarViewModelCpu0UsageLogger, value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
||||||
CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
CreateBarViewModel(resourceBarViewModelCpu1UsageLogger, value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
||||||
CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} %")
|
CreateBarViewModel(resourceBarViewModelCpu2UsageLogger, value => $"{value.Model?.Value?.ToString("00.00")} %"),
|
||||||
|
CreateBarViewModel(resourceBarViewModelCpu3UsageLogger, value => $"{value.Model?.Value?.ToString("00.00")} %")
|
||||||
);
|
);
|
||||||
CpuTemperatureBarViewModel = CreateBarViewModel(value => $"{value.Model?.Value?.ToString("00.00")} ℃");
|
CpuTemperatureBarViewModel = CreateBarViewModel(resourceBarViewModelCpuTemperatureLogger, value => $"{value.Model?.Value?.ToString("00.00")} ℃");
|
||||||
MemoryUsageBarViewModel = CreateBarViewModel(value => $"{value.Model?.Value?.ToString("000.00")} МБ");
|
MemoryUsageBarViewModel = CreateBarViewModel(resourceBarViewModelMemoryUsageLogger, value => $"{value.Model?.Value?.ToString("000.00")} МБ");
|
||||||
|
|
||||||
Update();
|
Update();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user