mirror of
https://github.com/holgerb83/ModernWpfPlayground.git
synced 2025-06-30 01:40:51 +02:00
features
This commit is contained in:
@ -1,5 +1,4 @@
|
||||
using System.Windows;
|
||||
using ModernWpf;
|
||||
using ModernWpf;
|
||||
using ModernWpfPlayground.Types;
|
||||
|
||||
namespace ModernWpfPlayground
|
||||
|
@ -1,5 +1,3 @@
|
||||
using System.Windows;
|
||||
|
||||
[assembly:ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
@ -7,4 +5,4 @@ using System.Windows;
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
)]
|
@ -1,6 +1,4 @@
|
||||
using System.Windows;
|
||||
|
||||
namespace ModernWpfPlayground
|
||||
namespace ModernWpfPlayground
|
||||
{
|
||||
public partial class ContentDialogExample
|
||||
{
|
||||
|
3
App/GlobalUsings.cs
Normal file
3
App/GlobalUsings.cs
Normal file
@ -0,0 +1,3 @@
|
||||
global using System;
|
||||
global using MvvmGen;
|
||||
global using System.Windows;
|
@ -22,22 +22,10 @@
|
||||
<Window.DataContext>
|
||||
<local:MainWindowViewModel />
|
||||
</Window.DataContext>
|
||||
<Window.Resources>
|
||||
<local:PixelsToGridLengthConverter x:Key="PixelsToGridLength" />
|
||||
</Window.Resources>
|
||||
<Window.InputBindings>
|
||||
<KeyBinding
|
||||
Key="O"
|
||||
Command="{Binding OpenViewModelCommand}"
|
||||
Modifiers="Control" />
|
||||
<KeyBinding
|
||||
Key="S"
|
||||
Command="{Binding SaveViewModelCommand}"
|
||||
Modifiers="Control" />
|
||||
<KeyBinding
|
||||
Key="N"
|
||||
Command="{Binding ResetViewModelCommand}"
|
||||
Modifiers="Control" />
|
||||
<KeyBinding Key="O" Modifiers="Control" />
|
||||
<KeyBinding Key="S" Modifiers="Control" />
|
||||
<KeyBinding Key="N" Modifiers="Control" />
|
||||
</Window.InputBindings>
|
||||
|
||||
<DockPanel>
|
||||
@ -58,7 +46,7 @@
|
||||
</Grid.Style>
|
||||
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="{Binding ElementName=Window, Path=(ui:TitleBar.SystemOverlayLeftInset), Converter={StaticResource PixelsToGridLength}}" />
|
||||
<ColumnDefinition Width="{Binding ElementName=Window, Path=(ui:TitleBar.SystemOverlayLeftInset), Converter={local:PixelsToGridLengthConverter}}" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
@ -220,7 +208,7 @@
|
||||
</ui:SplitView.Pane>
|
||||
<!-- Content -->
|
||||
<TabControl>
|
||||
<TabItem ui:ControlHelper.CornerRadius="0" Header="Bolt">
|
||||
<TabItem Header="Bolt">
|
||||
<ScrollViewer ui:ScrollViewerHelper.AutoHideScrollBars="True">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
@ -246,12 +234,15 @@
|
||||
</ScrollViewer>
|
||||
</TabItem>
|
||||
<TabItem
|
||||
ui:ControlHelper.CornerRadius="0"
|
||||
Header="General"
|
||||
IsSelected="True">
|
||||
<ScrollViewer ui:ScrollViewerHelper.AutoHideScrollBars="True">
|
||||
|
||||
<ui:SimpleStackPanel Margin="5" Spacing="10">
|
||||
<ComboBox
|
||||
DisplayMemberPath="Key"
|
||||
ItemsSource="{Binding ThemeMode, Converter={controls:EnumToItemSourceConverter}}"
|
||||
SelectedValue="{Binding ThemeMode}"
|
||||
SelectedValuePath="Value" />
|
||||
<controls:PropertyPresenter Label="Theme Mode" Value="{Binding ThemeMode}" />
|
||||
<controls:PropertyPresenter Label="Accent color" Value="{Binding AccentColors}" />
|
||||
<controls:PropertyPresenter
|
||||
@ -264,10 +255,9 @@
|
||||
Label="Hallo"
|
||||
Symbol="x²"
|
||||
Value="{Binding ValidationTest, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<controls:PropertyPresenter
|
||||
Label="Good bye"
|
||||
Symbol="x²"
|
||||
Value="{Binding ValidationTest, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<controls:PropertyPresenter Label="Good bye" Symbol="x²">
|
||||
<ui:NumberBox SpinButtonPlacementMode="Compact" Value="{Binding ValidationTest, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</controls:PropertyPresenter>
|
||||
<Grid Margin="0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
@ -1,6 +1,4 @@
|
||||
using ModernWpfPlayground.Types;
|
||||
using MvvmGen;
|
||||
using System.Windows;
|
||||
using static ModernWpf.ThemeManager;
|
||||
|
||||
namespace ModernWpfPlayground
|
||||
@ -59,7 +57,7 @@ namespace ModernWpfPlayground
|
||||
[Command]
|
||||
private async void ShowDialog()
|
||||
{
|
||||
var dialog = new ContentDialogExample {Message = WelcomeMessage};
|
||||
var dialog = new ContentDialogExample { Message = WelcomeMessage };
|
||||
var result = await dialog.ShowAsync();
|
||||
WelcomeMessage = result.ToString();
|
||||
}
|
||||
@ -83,6 +81,5 @@ namespace ModernWpfPlayground
|
||||
//
|
||||
// File.WriteAllText(Path, contents);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -2,27 +2,31 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows10.0.18362.0</TargetFramework>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
<Nullable>enable</Nullable>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<SelfContained>true</SelfContained>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<PublishReadyToRun>true</PublishReadyToRun>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FastMember" Version="1.5.0" />
|
||||
<PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="1.1.0" />
|
||||
<PackageReference Include="ModernWpfUI" Version="0.9.4" />
|
||||
<PackageReference Include="ModernWpfUis" Version="1.2.0" />
|
||||
<PackageReference Include="MvvmGen" Version="1.1.1" />
|
||||
<PackageReference Include="YamlDotNet" Version="11.2.1" />
|
||||
<PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.8.0" />
|
||||
<PackageReference Include="MahApps.Metro.IconPacks.FontAwesome" Version="4.11.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Controls\Controls.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="MvvmStuff" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -1,20 +0,0 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
|
||||
namespace ModernWpfPlayground.MvvmStuff
|
||||
{
|
||||
public static class DeserializationExtension
|
||||
{
|
||||
public static object? Convert(object? value, Type propertyType)
|
||||
{
|
||||
if (value is null) return Activator.CreateInstance(propertyType);
|
||||
|
||||
if (propertyType.IsEnum && value is string s)
|
||||
{
|
||||
return Enum.Parse(propertyType, s);
|
||||
}
|
||||
|
||||
return System.Convert.ChangeType(value, propertyType, CultureInfo.InvariantCulture);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +1,13 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Markup;
|
||||
|
||||
namespace ModernWpfPlayground
|
||||
{
|
||||
public class PixelsToGridLengthConverter : IValueConverter
|
||||
public class PixelsToGridLengthConverter : MarkupExtension, IValueConverter
|
||||
{
|
||||
private static PixelsToGridLengthConverter? _converter;
|
||||
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value is double d ? new GridLength(d) : new GridLength(1.0, GridUnitType.Auto);
|
||||
@ -16,5 +17,8 @@ namespace ModernWpfPlayground
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider) =>
|
||||
_converter ??= new PixelsToGridLengthConverter();
|
||||
}
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace ModernWpfPlayground.Types
|
||||
{
|
||||
|
@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel;
|
||||
using ModernWpf;
|
||||
|
||||
namespace ModernWpfPlayground.Types
|
||||
|
Reference in New Issue
Block a user