update to v1.2.2

This commit is contained in:
NaBian committed 2018-09-18 19:22:11 +08:00
1 parent 6e01c6d7bc
commit 07762e3616
72 files changed
+907 -565

No files matched your search

+10 -1
View File
@@ -1,9 +1,18 @@
namespace HandyControlDemo
using System.Globalization;
using System.Threading;
using System.Windows;
namespace HandyControlDemo
{
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");
}
}
}
+20 -19
View File
@@ -1,36 +1,37 @@
namespace HandyControlDemo.Data
{
/// <summary>
/// 包含整个程序使用的所有标识
/// </summary>
internal class MessageToken
public class MessageToken
{
public static readonly string LoadGrowlDemoCtl = nameof(LoadGrowlDemoCtl);
public static readonly string GrowlDemoCtl = nameof(GrowlDemoCtl);
public static readonly string LoadLoadingDemoCtl = nameof(LoadLoadingDemoCtl);
public static readonly string LoadingDemoCtl = nameof(LoadingDemoCtl);
public static readonly string LoadImageBrowserDemoCtl = nameof(LoadImageBrowserDemoCtl);
public static readonly string ImageBrowserDemoCtl = nameof(ImageBrowserDemoCtl);
public static readonly string LoadColorPickerDemoCtl = nameof(LoadColorPickerDemoCtl);
public static readonly string ColorPickerDemoCtl = nameof(ColorPickerDemoCtl);
public static readonly string LoadCarouselDemoCtl = nameof(LoadCarouselDemoCtl);
public static readonly string CarouselDemoCtl = nameof(CarouselDemoCtl);
public static readonly string LoadCompareSliderDemoCtl = nameof(LoadCompareSliderDemoCtl);
public static readonly string CompareSliderDemoCtl = nameof(CompareSliderDemoCtl);
public static readonly string LoadTimeBarDemoCtl = nameof(LoadTimeBarDemoCtl);
public static readonly string TimeBarDemoCtl = nameof(TimeBarDemoCtl);
public static readonly string LoadExpanderDemoCtl = nameof(LoadExpanderDemoCtl);
public static readonly string PaginationDemoCtl = nameof(PaginationDemoCtl);
public static readonly string LoadPaginationDemoCtl = nameof(LoadPaginationDemoCtl);
public static readonly string AnimationPathDemoCtl = nameof(AnimationPathDemoCtl);
public static readonly string LoadProgressBarDemoCtl = nameof(LoadProgressBarDemoCtl);
public static readonly string StepBarDemoCtl = nameof(StepBarDemoCtl);
public static readonly string LoadAnimationPathDemoCtl = nameof(LoadAnimationPathDemoCtl);
public static readonly string ButtonDemoCtl = nameof(ButtonDemoCtl);
public static readonly string LoadButtonDemoCtl = nameof(LoadButtonDemoCtl);
public static readonly string ToggleButtonDemoCtl = nameof(ToggleButtonDemoCtl);
public static readonly string LoadToggleButtonDemoCtl = nameof(LoadToggleButtonDemoCtl);
public static readonly string ExpanderDemoCtl = nameof(ExpanderDemoCtl);
public static readonly string LoadTabControlDemoCtl = nameof(LoadTabControlDemoCtl);
}
public static readonly string ProgressBarDemoCtl = nameof(ProgressBarDemoCtl);
public static readonly string TabControlDemoCtl = nameof(TabControlDemoCtl);
public static readonly string LoadShowContent = nameof(LoadShowContent);
}
}
+41
View File
@@ -0,0 +1,41 @@
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ import namespace="System.Collections.Generic"#>
<#@ output extension=".cs" #>
<#
var controlList = new List<string>
{
"GrowlDemoCtl",
"LoadingDemoCtl",
"ImageBrowserDemoCtl",
"ColorPickerDemoCtl",
"CarouselDemoCtl",
"CompareSliderDemoCtl",
"TimeBarDemoCtl",
"PaginationDemoCtl",
"AnimationPathDemoCtl",
"StepBarDemoCtl"
};
var styleList = new List<string>
{
"ButtonDemoCtl",
"ToggleButtonDemoCtl",
"ExpanderDemoCtl",
"ProgressBarDemoCtl",
"TabControlDemoCtl"
};
#>
namespace HandyControlDemo.Data
{
public class MessageToken
{
<#foreach(var item in controlList){#>
public static readonly string <#=item#> = nameof(<#=item#>);
<#}#>
<#foreach(var item in styleList){#>
public static readonly string <#=item#> = nameof(<#=item#>);
<#}#>
public static readonly string LoadShowContent = nameof(LoadShowContent);
}
}
+15 -11
View File
@@ -62,7 +62,11 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="Data\MessageToken.cs" />
<Compile Include="Data\MessageToken.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>MessageToken.tt</DependentUpon>
</Compile>
<Compile Include="Properties\Langs\Lang.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -73,11 +77,7 @@
<DesignTime>True</DesignTime>
<DependentUpon>Lang.en.resx</DependentUpon>
</Compile>
<Compile Include="UserControl\ControlLocator.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>ControlLocator.tt</DependentUpon>
</Compile>
<Compile Include="Tools\AssemblyHelper.cs" />
<Compile Include="UserControl\Controls\AnimationPathDemoCtl.xaml.cs">
<DependentUpon>AnimationPathDemoCtl.xaml</DependentUpon>
</Compile>
@@ -99,6 +99,9 @@
<Compile Include="UserControl\Controls\LoadingDemoCtl.xaml.cs">
<DependentUpon>LoadingDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="UserControl\Controls\StepBarDemoCtl.xaml.cs">
<DependentUpon>StepBarDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="UserControl\Main\NoUserContent.xaml.cs">
<DependentUpon>NoUserContent.xaml</DependentUpon>
</Compile>
@@ -197,6 +200,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="UserControl\Controls\StepBarDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="UserControl\Main\NoUserContent.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -261,12 +268,9 @@
<Resource Include="Resources\Img\b2.jpg" />
</ItemGroup>
<ItemGroup>
<Folder Include="Window\" />
</ItemGroup>
<ItemGroup>
<Content Include="UserControl\ControlLocator.tt">
<Content Include="Data\MessageToken.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>ControlLocator.cs</LastGenOutput>
<LastGenOutput>MessageToken.cs</LastGenOutput>
</Content>
</ItemGroup>
<ItemGroup>
+7 -5
View File
@@ -4,8 +4,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:userControl="clr-namespace:HandyControlDemo.UserControl"
mc:Ignorable="d"
UseLayoutRounding="True"
BorderThickness="1"
BorderBrush="#262e2f"
NoUserAreaBackground="#262e2f"
@@ -16,15 +16,17 @@
Name="MyWindow"
DataContext="{Binding Main,Source={StaticResource Locator}}"
d:DesignHeight="800"
d:DesignWidth="1400"
NoUserContent="{Binding NoUserContent}">
d:DesignWidth="1400">
<controls:WindowBorderless.NoUserContent>
<userControl:NoUserContent/>
</controls:WindowBorderless.NoUserContent>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" MinWidth="200" MaxWidth="400"/>
<ColumnDefinition MinWidth="200"/>
</Grid.ColumnDefinitions>
<ContentPresenter Content="{Binding LeftMainContent}"/>
<ContentPresenter Grid.Column="1" Content="{Binding MainContent}"/>
<userControl:LeftMainContent/>
<userControl:MainContent Grid.Column="1"/>
<GridSplitter Grid.Column="1" HorizontalAlignment="Left" Width="4" Background="Transparent" BorderThickness="1,0,0,0" BorderBrush="{StaticResource BorderBrush}"></GridSplitter>
<controls:ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Hidden" HorizontalAlignment="Right" IsEnableInertia="True" IsPenetrating="True">
<StackPanel IsHitTestVisible="True" VerticalAlignment="Top" Background="Transparent" Name="PanelMessage" Margin="0,10,10,10"></StackPanel>
+2 -2
View File
@@ -12,5 +12,5 @@ using System.Windows;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]
[assembly: AssemblyVersion("1.2.1.2")]
[assembly: AssemblyFileVersion("1.2.1.2")]
[assembly: AssemblyVersion("1.2.2.0")]
[assembly: AssemblyFileVersion("1.2.2.0")]
+63
View File
@@ -69,6 +69,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 填写基本信息 的本地化字符串。
/// </summary>
public static string BasicInfo {
get {
return ResourceManager.GetString("BasicInfo", resourceCulture);
}
}
/// <summary>
/// 查找类似 按钮 的本地化字符串。
/// </summary>
@@ -123,6 +132,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 完成 的本地化字符串。
/// </summary>
public static string Complete {
get {
return ResourceManager.GetString("Complete", resourceCulture);
}
}
/// <summary>
/// 查找类似 控件 的本地化字符串。
/// </summary>
@@ -249,6 +267,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 下一步 的本地化字符串。
/// </summary>
public static string Next {
get {
return ResourceManager.GetString("Next", resourceCulture);
}
}
/// <summary>
/// 查找类似 点击打开图片浏览器 的本地化字符串。
/// </summary>
@@ -267,6 +294,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 上一步 的本地化字符串。
/// </summary>
public static string Prev {
get {
return ResourceManager.GetString("Prev", resourceCulture);
}
}
/// <summary>
/// 查找类似 主要 的本地化字符串。
/// </summary>
@@ -285,6 +321,24 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 注册 的本地化字符串。
/// </summary>
public static string Register {
get {
return ResourceManager.GetString("Register", resourceCulture);
}
}
/// <summary>
/// 查找类似 步骤条 的本地化字符串。
/// </summary>
public static string StepBar {
get {
return ResourceManager.GetString("StepBar", resourceCulture);
}
}
/// <summary>
/// 查找类似 样式模板 的本地化字符串。
/// </summary>
@@ -348,6 +402,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 上传文件 的本地化字符串。
/// </summary>
public static string UploadFile {
get {
return ResourceManager.GetString("UploadFile", resourceCulture);
}
}
/// <summary>
/// 查找类似 警告 的本地化字符串。
/// </summary>
@@ -216,4 +216,25 @@
<data name="Title" xml:space="preserve">
<value>Title</value>
</data>
<data name="StepBar" xml:space="preserve">
<value>StepBar</value>
</data>
<data name="Prev" xml:space="preserve">
<value>Prev</value>
</data>
<data name="Next" xml:space="preserve">
<value>Next</value>
</data>
<data name="Register" xml:space="preserve">
<value>Register</value>
</data>
<data name="BasicInfo" xml:space="preserve">
<value>Fill in the basic information</value>
</data>
<data name="UploadFile" xml:space="preserve">
<value>Upload file </value>
</data>
<data name="Complete" xml:space="preserve">
<value>Complete</value>
</data>
</root>
@@ -196,4 +196,25 @@
<data name="Title" xml:space="preserve">
<value>标题</value>
</data>
<data name="StepBar" xml:space="preserve">
<value>步骤条</value>
</data>
<data name="Prev" xml:space="preserve">
<value>上一步</value>
</data>
<data name="Next" xml:space="preserve">
<value>下一步</value>
</data>
<data name="Register" xml:space="preserve">
<value>注册</value>
</data>
<data name="BasicInfo" xml:space="preserve">
<value>填写基本信息</value>
</data>
<data name="UploadFile" xml:space="preserve">
<value>上传文件</value>
</data>
<data name="Complete" xml:space="preserve">
<value>完成</value>
</data>
</root>
+22
View File
@@ -0,0 +1,22 @@
using System;
namespace HandyControlDemo.Tools
{
public class AssemblyHelper
{
private static readonly string NameSpaceStr = typeof(AssemblyHelper).Assembly.GetName().Name;
public static object CreateInternalInstance(string className)
{
try
{
var type = Type.GetType($"{NameSpaceStr}.{className}");
return type == null ? null : Activator.CreateInstance(type);
}
catch
{
return null;
}
}
}
}
@@ -1,81 +0,0 @@
using System;
using CommonServiceLocator;
using GalaSoft.MvvmLight.Ioc;
namespace HandyControlDemo.UserControl
{
/// <summary>
/// 控件定位器
/// </summary>
public class ControlLocator
{
private ControlLocator()
{
SimpleIoc.Default.Register<MainContent>();
SimpleIoc.Default.Register<LeftMainContent>();
SimpleIoc.Default.Register<NoUserContent>();
SimpleIoc.Default.Register<GrowlDemoCtl>();
SimpleIoc.Default.Register<LoadingDemoCtl>();
SimpleIoc.Default.Register<ImageBrowserDemoCtl>();
SimpleIoc.Default.Register<ColorPickerDemoCtl>();
SimpleIoc.Default.Register<CarouselDemoCtl>();
SimpleIoc.Default.Register<CompareSliderDemoCtl>();
SimpleIoc.Default.Register<TimeBarDemoCtl>();
SimpleIoc.Default.Register<PaginationDemoCtl>();
SimpleIoc.Default.Register<AnimationPathDemoCtl>();
SimpleIoc.Default.Register<ButtonDemoCtl>();
SimpleIoc.Default.Register<ToggleButtonDemoCtl>();
SimpleIoc.Default.Register<ExpanderDemoCtl>();
SimpleIoc.Default.Register<ProgressBarDemoCtl>();
SimpleIoc.Default.Register<TabControlDemoCtl>();
}
public static ControlLocator Instance => new Lazy<ControlLocator>(() => new ControlLocator()).Value;
#region Main
public MainContent MainContent => ServiceLocator.Current.GetInstance<MainContent>();
public LeftMainContent LeftMainContent => ServiceLocator.Current.GetInstance<LeftMainContent>();
public NoUserContent NoUserContent => ServiceLocator.Current.GetInstance<NoUserContent>();
#endregion
#region Controls
public GrowlDemoCtl GrowlDemoCtl => new GrowlDemoCtl();
public LoadingDemoCtl LoadingDemoCtl => new LoadingDemoCtl();
public ImageBrowserDemoCtl ImageBrowserDemoCtl => new ImageBrowserDemoCtl();
public ColorPickerDemoCtl ColorPickerDemoCtl => new ColorPickerDemoCtl();
public CarouselDemoCtl CarouselDemoCtl => new CarouselDemoCtl();
public CompareSliderDemoCtl CompareSliderDemoCtl => new CompareSliderDemoCtl();
public TimeBarDemoCtl TimeBarDemoCtl => new TimeBarDemoCtl();
public PaginationDemoCtl PaginationDemoCtl => new PaginationDemoCtl();
public AnimationPathDemoCtl AnimationPathDemoCtl => new AnimationPathDemoCtl();
#endregion
#region Styles
public ButtonDemoCtl ButtonDemoCtl => new ButtonDemoCtl();
public ToggleButtonDemoCtl ToggleButtonDemoCtl => new ToggleButtonDemoCtl();
public ExpanderDemoCtl ExpanderDemoCtl => new ExpanderDemoCtl();
public ProgressBarDemoCtl ProgressBarDemoCtl => new ProgressBarDemoCtl();
public TabControlDemoCtl TabControlDemoCtl => new TabControlDemoCtl();
#endregion
}
}
@@ -1,82 +0,0 @@
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ import namespace="System.Collections.Generic"#>
<#@ output extension=".cs" #>
<#
var singleList = new List<string>
{
"MainContent",
"LeftMainContent",
"NoUserContent"
};
var controlList = new List<string>
{
"GrowlDemoCtl",
"LoadingDemoCtl",
"ImageBrowserDemoCtl",
"ColorPickerDemoCtl",
"CarouselDemoCtl",
"CompareSliderDemoCtl",
"TimeBarDemoCtl",
"PaginationDemoCtl",
"AnimationPathDemoCtl"
};
var styleList = new List<string>
{
"ButtonDemoCtl",
"ToggleButtonDemoCtl",
"ExpanderDemoCtl",
"ProgressBarDemoCtl",
"TabControlDemoCtl"
};
#>
using System;
using CommonServiceLocator;
using GalaSoft.MvvmLight.Ioc;
namespace HandyControlDemo.UserControl
{
/// <summary>
/// 控件定位器
/// </summary>
public class ControlLocator
{
private ControlLocator()
{
<#foreach(var item in singleList){#>
SimpleIoc.Default.Register<<#=item#>>();
<#}#>
<#foreach(var item in controlList){#>
SimpleIoc.Default.Register<<#=item#>>();
<#}#>
<#foreach(var item in styleList){#>
SimpleIoc.Default.Register<<#=item#>>();
<#}#>
}
public static ControlLocator Instance => new Lazy<ControlLocator>(() => new ControlLocator()).Value;
#region Main
<#foreach(var item in singleList){#>
public <#=item#> <#=item#> => ServiceLocator.Current.GetInstance<<#=item#>>();
<#}#>
#endregion
#region Controls
<#foreach(var item in controlList){#>
public <#=item#> <#=item#> => new <#=item#>();
<#}#>
#endregion
#region Styles
<#foreach(var item in styleList){#>
public <#=item#> <#=item#> => new <#=item#>();
<#}#>
#endregion
}
}
@@ -4,6 +4,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:AnimationPath Margin="32" PathLength="400" Duration="0:0:4" Stretch="Uniform" Width="200" Height="200" StrokeThickness="2" Stroke="{StaticResource PrimaryBrush}" Data="M40.493382,19.001303 C36.637875,19.06448 33.938568,21.421986 33.948524,25.271919 L34.068279,71.56765 34.066906,71.598007 34.068745,71.747833 34.18895,118.21758 C34.202225,123.35083 39.026951,129.19344 44.965271,131.2674 50.903587,133.34137 55.706783,130.86133 55.693504,125.72808 L55.589508,85.524513 93.866371,85.524513 93.950943,118.21758 C93.964218,123.35083 98.788948,129.19344 104.72726,131.2674 110.66558,133.34137 115.46878,130.86133 115.4555,125.72808 L115.33575,79.432381 115.33712,79.401993 115.33528,79.252007 115.21507,32.782413 C115.2018,27.64917 110.37708,21.806566 104.43876,19.732603 98.500435,17.658638 93.697243,20.138674 93.710518,25.271919 L93.814514,65.475487 55.537647,65.475487 55.453079,32.782413 C55.439804,27.64917 50.615082,21.806566 44.676762,19.732603 43.192181,19.214111 41.778549,18.980244 40.493382,19.001303 z M9.999999,0 L140,0 C145.52284,0 150,4.4771523 150,9.999999 L150,140 C150,145.52284 145.52284,150 140,150 L9.999999,150 C4.4771523,150 0,145.52284 0,140 L0,9.999999 C0,4.4771523 4.4771523,0 9.999999,0 z"></controls:AnimationPath>
<controls:AnimationPath VerticalAlignment="Center" Margin="32" PathLength="400" Duration="0:0:4" Stretch="Uniform" Width="200" Height="200" StrokeThickness="2" Stroke="{StaticResource PrimaryBrush}" Data="M40.493382,19.001303 C36.637875,19.06448 33.938568,21.421986 33.948524,25.271919 L34.068279,71.56765 34.066906,71.598007 34.068745,71.747833 34.18895,118.21758 C34.202225,123.35083 39.026951,129.19344 44.965271,131.2674 50.903587,133.34137 55.706783,130.86133 55.693504,125.72808 L55.589508,85.524513 93.866371,85.524513 93.950943,118.21758 C93.964218,123.35083 98.788948,129.19344 104.72726,131.2674 110.66558,133.34137 115.46878,130.86133 115.4555,125.72808 L115.33575,79.432381 115.33712,79.401993 115.33528,79.252007 115.21507,32.782413 C115.2018,27.64917 110.37708,21.806566 104.43876,19.732603 98.500435,17.658638 93.697243,20.138674 93.710518,25.271919 L93.814514,65.475487 55.537647,65.475487 55.453079,32.782413 C55.439804,27.64917 50.615082,21.806566 44.676762,19.732603 43.192181,19.214111 41.778549,18.980244 40.493382,19.001303 z M9.999999,0 L140,0 C145.52284,0 150,4.4771523 150,9.999999 L150,140 C150,145.52284 145.52284,150 140,150 L9.999999,150 C4.4771523,150 0,145.52284 0,140 L0,9.999999 C0,4.4771523 4.4771523,0 9.999999,0 z"></controls:AnimationPath>
</controls:TransitioningContentControl>
</UserControl>
@@ -4,7 +4,7 @@
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:Carousel Margin="32" AutoRun="True" Width="600" Height="330">
<controls:Carousel Margin="32" AutoRun="True" Width="600" Height="330" VerticalAlignment="Center">
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/1.jpg"></Image>
<Image Width="300" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/2.jpg"></Image>
<Grid Width="600">
@@ -4,7 +4,7 @@
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<StackPanel Orientation="Horizontal" Margin="32">
<StackPanel Orientation="Horizontal" Margin="32" VerticalAlignment="Center">
<controls:ColorPicker Name="ColorPicker"/>
<Border Margin="32,0,0,0" Height="100" Width="100" BorderThickness="1" BorderBrush="{StaticResource BorderBrush}" CornerRadius="50" Background="{Binding SelectedBrush,ElementName=ColorPicker}"></Border>
</StackPanel>
@@ -4,7 +4,7 @@
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
Background="White">
<controls:TransitioningContentControl>
<controls:ScrollViewer>
<controls:ScrollViewer VerticalAlignment="Center">
<WrapPanel ItemHeight="384" ItemWidth="632">
<controls:CompareSlider Value="5" Width="600" Height="352">
<controls:CompareSlider.TargetContent>
@@ -5,7 +5,7 @@
DataContext="{Binding GrowlDemo,Source={StaticResource Locator}}"
Background="White">
<controls:TransitioningContentControl>
<WrapPanel Margin="32">
<WrapPanel Margin="32" VerticalAlignment="Center">
<Button Command="{Binding InfoCmd}" Content="Info" Margin="0,5,5,5" Style="{StaticResource ButtonInfo}"></Button>
<Button Command="{Binding SuccessCmd}" Content="Success" Margin="5" Style="{StaticResource ButtonSuccess}"></Button>
<Button Command="{Binding WarningCmd}" Content="Warning" Margin="5" Style="{StaticResource ButtonWarning}"></Button>
@@ -6,6 +6,6 @@
DataContext="{Binding ImageBrowserDemo,Source={StaticResource Locator}}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<Button Command="{Binding OpenImgCmd}" Content="{x:Static langs:Lang.OpenImageBrowser}" Style="{StaticResource ButtonPrimary}" Margin="32"></Button>
<Button Command="{Binding OpenImgCmd}" Content="{x:Static langs:Lang.OpenImageBrowser}" Style="{StaticResource ButtonPrimary}" Margin="32" VerticalAlignment="Center"/>
</controls:TransitioningContentControl>
</UserControl>
@@ -4,12 +4,12 @@
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<StackPanel Width="600" Margin="32">
<StackPanel Width="600" Margin="32" VerticalAlignment="Center">
<controls:LoadingLine></controls:LoadingLine>
<controls:LoadingLine Margin="0,30" Foreground="BlueViolet" Style="{StaticResource LoadingLineLarge}"></controls:LoadingLine>
<StackPanel Orientation="Horizontal">
<controls:LoadingCircle></controls:LoadingCircle>
<Border VerticalAlignment="Center" Background="{DynamicResource PrimaryBrush}" CornerRadius="10">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<controls:LoadingCircle/>
<Border VerticalAlignment="Center" Margin="32,0,0,0" Background="{DynamicResource PrimaryBrush}" CornerRadius="10">
<controls:LoadingCircle Style="{StaticResource LoadingCircleLight}" Margin="10"></controls:LoadingCircle>
</Border>
</StackPanel>
@@ -4,6 +4,6 @@
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:Pagination Margin="32" Width="600" MaxPageCount="10"></controls:Pagination>
<controls:Pagination Margin="32" Width="600" MaxPageCount="10" VerticalAlignment="Center"/>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,23 @@
<UserControl x:Class="HandyControlDemo.UserControl.StepBarDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl"
FocusManager.FocusedElement="{Binding RelativeSource={x:Static RelativeSource.Self}, Mode=OneTime}"
Background="White">
<controls:TransitioningContentControl>
<StackPanel Margin="32" VerticalAlignment="Center" Width="600">
<controls:StepBar x:Name="StepBarMain">
<controls:StepItem Title="{x:Static langs:Lang.Register}"/>
<controls:StepItem Title="{x:Static langs:Lang.BasicInfo}"/>
<controls:StepItem Title="{x:Static langs:Lang.UploadFile}"/>
<controls:StepItem Title="{x:Static langs:Lang.Complete}"/>
</controls:StepBar>
<StackPanel Orientation="Horizontal" Margin="0,32,0,0" HorizontalAlignment="Center">
<Button Command="interactivity:ControlCommands.Prev" CommandTarget="{Binding ElementName=StepBarMain}" Width="180" Content="{x:Static langs:Lang.Prev}" Style="{StaticResource ButtonPrimary}"></Button>
<Button Command="interactivity:ControlCommands.Next" CommandTarget="{Binding ElementName=StepBarMain}" Width="180" Margin="16,0,0,0" Content="{x:Static langs:Lang.Next}" Style="{StaticResource ButtonPrimary}"></Button>
</StackPanel>
</StackPanel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// StepBarDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class StepBarDemoCtl
{
public StepBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -4,6 +4,6 @@
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
Background="White">
<controls:TransitioningContentControl>
<controls:TimeBar BorderThickness="0" Margin="32" Background="{StaticResource PrimaryBrush}" Width="600"></controls:TimeBar>
<controls:TimeBar BorderThickness="0" Margin="32" Background="{StaticResource PrimaryBrush}" Width="600" VerticalAlignment="Center"/>
</controls:TransitioningContentControl>
</UserControl>
@@ -14,22 +14,23 @@
</i:EventTrigger>
</i:Interaction.Triggers>
<TreeViewItem IsExpanded="True" Header="{x:Static langs:Lang.Styles}">
<TreeViewItem Tag="{x:Static data:MessageToken.LoadButtonDemoCtl}" Header="{x:Static langs:Lang.Button}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadToggleButtonDemoCtl}" Header="{x:Static langs:Lang.ToggleButton}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadExpanderDemoCtl}" Header="{x:Static langs:Lang.Expander}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadProgressBarDemoCtl}" Header="{x:Static langs:Lang.ProgressBar}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ButtonDemoCtl}" Header="{x:Static langs:Lang.Button}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ToggleButtonDemoCtl}" Header="{x:Static langs:Lang.ToggleButton}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ExpanderDemoCtl}" Header="{x:Static langs:Lang.Expander}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ProgressBarDemoCtl}" Header="{x:Static langs:Lang.ProgressBar}"/>
</TreeViewItem>
<TreeViewItem IsExpanded="True" Header="{x:Static langs:Lang.Controls}">
<TreeViewItem Tag="{x:Static data:MessageToken.LoadGrowlDemoCtl}" Header="{x:Static langs:Lang.Growl}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadLoadingDemoCtl}" Header="{x:Static langs:Lang.Loading}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadImageBrowserDemoCtl}" Header="{x:Static langs:Lang.ImageBrowser}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadColorPickerDemoCtl}" Header="{x:Static langs:Lang.ColorPicker}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadCarouselDemoCtl}" Header="{x:Static langs:Lang.Carousel}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadCompareSliderDemoCtl}" Header="{x:Static langs:Lang.CompareSlider}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadTimeBarDemoCtl}" Header="{x:Static langs:Lang.TimeBar}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadPaginationDemoCtl}" Header="{x:Static langs:Lang.Pagination}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadAnimationPathDemoCtl}" Header="{x:Static langs:Lang.AnimationPath}"/>
<TreeViewItem Style="{StaticResource TreeViewItemNew}" Tag="{x:Static data:MessageToken.LoadTabControlDemoCtl}" Header="{x:Static langs:Lang.TabControl}"/>
<TreeViewItem Style="{StaticResource TreeViewItemNew}" Tag="{x:Static data:MessageToken.StepBarDemoCtl}" Header="{x:Static langs:Lang.StepBar}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.GrowlDemoCtl}" Header="{x:Static langs:Lang.Growl}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadingDemoCtl}" Header="{x:Static langs:Lang.Loading}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ImageBrowserDemoCtl}" Header="{x:Static langs:Lang.ImageBrowser}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.ColorPickerDemoCtl}" Header="{x:Static langs:Lang.ColorPicker}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.CarouselDemoCtl}" Header="{x:Static langs:Lang.Carousel}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.CompareSliderDemoCtl}" Header="{x:Static langs:Lang.CompareSlider}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.TimeBarDemoCtl}" Header="{x:Static langs:Lang.TimeBar}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.PaginationDemoCtl}" Header="{x:Static langs:Lang.Pagination}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.AnimationPathDemoCtl}" Header="{x:Static langs:Lang.AnimationPath}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.TabControlDemoCtl}" Header="{x:Static langs:Lang.TabControl}"/>
</TreeViewItem>
</TreeView>
</Border>
+3 -62
View File
@@ -5,7 +5,7 @@ using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.CommandWpf;
using GalaSoft.MvvmLight.Messaging;
using HandyControlDemo.Data;
using HandyControlDemo.UserControl;
using HandyControlDemo.Tools;
namespace HandyControlDemo.ViewModel
{
@@ -18,79 +18,20 @@ namespace HandyControlDemo.ViewModel
/// </summary>
private object _contentTitle;
/// <summary>
/// 左侧主内容
/// </summary>
private object _leftMainContent;
/// <summary>
/// 主内容
/// </summary>
private object _mainContent;
/// <summary>
/// 子内容
/// </summary>
private object _subContent;
/// <summary>
/// 非用户区域内容
/// </summary>
private object _noUserContent;
#endregion
public MainViewModel()
{
LeftMainContent = ControlLocator.Instance.LeftMainContent;
MainContent = ControlLocator.Instance.MainContent;
NoUserContent = ControlLocator.Instance.NoUserContent;
Messenger.Default.Register<object>(this, MessageToken.LoadGrowlDemoCtl, obj => SubContent = ControlLocator.Instance.GrowlDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadLoadingDemoCtl, obj => SubContent = ControlLocator.Instance.LoadingDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadImageBrowserDemoCtl, obj => SubContent = ControlLocator.Instance.ImageBrowserDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadColorPickerDemoCtl, obj => SubContent = ControlLocator.Instance.ColorPickerDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadCarouselDemoCtl, obj => SubContent = ControlLocator.Instance.CarouselDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadCompareSliderDemoCtl, obj => SubContent = ControlLocator.Instance.CompareSliderDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadTimeBarDemoCtl, obj => SubContent = ControlLocator.Instance.TimeBarDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadPaginationDemoCtl, obj => SubContent = ControlLocator.Instance.PaginationDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadExpanderDemoCtl, obj => SubContent = ControlLocator.Instance.ExpanderDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadProgressBarDemoCtl, obj => SubContent = ControlLocator.Instance.ProgressBarDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadAnimationPathDemoCtl, obj => SubContent = ControlLocator.Instance.AnimationPathDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadButtonDemoCtl, obj => SubContent = ControlLocator.Instance.ButtonDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadToggleButtonDemoCtl, obj => SubContent = ControlLocator.Instance.ToggleButtonDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadTabControlDemoCtl, obj => SubContent = ControlLocator.Instance.TabControlDemoCtl);
Messenger.Default.Register<object>(this, MessageToken.LoadShowContent, obj => SubContent = obj);
}
#region 属性
/// <summary>
/// 非用户区域内容
/// </summary>
public object NoUserContent
{
get => _noUserContent;
set => Set(ref _noUserContent, value);
}
/// <summary>
/// 左侧主内容
/// </summary>
public object LeftMainContent
{
get => _leftMainContent;
set => Set(ref _leftMainContent, value);
}
/// <summary>
/// 主内容
/// </summary>
public object MainContent
{
get => _mainContent;
set => Set(ref _mainContent, value);
}
/// <summary>
/// 子内容
/// </summary>
@@ -134,7 +75,7 @@ namespace HandyControlDemo.ViewModel
if (item.Tag is string tag)
{
ContentTitle = item.Header;
Messenger.Default.Send<object>(null, tag);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{tag}"), MessageToken.LoadShowContent);
}
else
{