From 14f2a7242aae854d868b27fe12c45ff4d8243d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20B=C3=B6rchers?= Date: Sat, 22 Oct 2022 17:36:24 +0200 Subject: [PATCH] Add zoom slider --- src/App/DivideByHundredConverter.cs | 23 ++++++ src/App/MainWindow.xaml | 45 ++++++++---- src/App/MainWindow.xaml.cs | 10 ++- src/App/MainWindowViewModel.cs | 71 +++++++++---------- src/App/ModernWpfPlayground.csproj | 5 +- src/App/PixelsToGridLengthConverter.cs | 3 +- src/App/Types/AccentColors.cs | 3 +- src/App/Types/ThemeMode.cs | 3 +- src/Controls/Controls.csproj | 3 +- src/Controls/Controls.csproj.DotSettings | 2 + .../EnumToItemSourceConverter.cs | 3 - .../PropertyPresenter/MagicSymbolConverter.cs | 4 +- .../PropertyDataTemplateSelector.cs | 3 +- .../PropertyPresenter/PropertyPresenter.xaml | 61 ++++++++-------- .../PropertyPresenter/ValueConverter.cs | 3 +- 15 files changed, 141 insertions(+), 101 deletions(-) create mode 100644 src/App/DivideByHundredConverter.cs create mode 100644 src/Controls/Controls.csproj.DotSettings diff --git a/src/App/DivideByHundredConverter.cs b/src/App/DivideByHundredConverter.cs new file mode 100644 index 0000000..55894b8 --- /dev/null +++ b/src/App/DivideByHundredConverter.cs @@ -0,0 +1,23 @@ +using System.Globalization; +using System.Windows.Data; +using System.Windows.Markup; + +namespace ModernWpfPlayground; + +public class DivideByHundredConverter : MarkupExtension, IValueConverter +{ + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return (double)value / 100d; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return this; + } +} \ No newline at end of file diff --git a/src/App/MainWindow.xaml b/src/App/MainWindow.xaml index 03dfee6..4977d64 100644 --- a/src/App/MainWindow.xaml +++ b/src/App/MainWindow.xaml @@ -2,12 +2,12 @@ x:Class="ModernWpfPlayground.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:Controls;assembly=Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:local="clr-namespace:ModernWpfPlayground" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ui="http://schemas.modernwpf.com/2019" - xmlns:controls="clr-namespace:Controls;assembly=Controls" x:Name="Window" Title="{Binding Title}" Width="{Binding WindowWidth, Mode=TwoWay}" @@ -27,7 +27,11 @@ - + + + + + + + + + + + DockPanel.Dock="Bottom" + LayoutTransform="{StaticResource ZoomSliderScaleTransform}"> - - + + + + + + + + -