update to v1.2.0

This commit is contained in:
NaBian committed 2018-09-04 15:42:37 +08:00
1 parent c402f428fb
commit 4afd1097de
90 files changed
+2992 -1652

No files matched your search

@@ -0,0 +1,75 @@
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<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>();
}
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>();
#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();
#endregion
}
}
@@ -0,0 +1,80 @@
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ import namespace="System.Collections.Generic"#>
<#@ output extension=".cs" #>
<#
var singleList = new List<string>
{
"MainContent",
"LeftMainContent"
};
var controlList = new List<string>
{
"GrowlDemoCtl",
"LoadingDemoCtl",
"ImageBrowserDemoCtl",
"ColorPickerDemoCtl",
"CarouselDemoCtl",
"CompareSliderDemoCtl",
"TimeBarDemoCtl",
"PaginationDemoCtl",
"AnimationPathDemoCtl"
};
var styleList = new List<string>
{
"ButtonDemoCtl",
"ToggleButtonDemoCtl",
"ExpanderDemoCtl",
"ProgressBarDemoCtl"
};
#>
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
}
}
@@ -0,0 +1,9 @@
<UserControl x:Class="HandyControlDemo.UserControl.AnimationPathDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Background="White"
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:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// AnimationPathDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class AnimationPathDemoCtl
{
public AnimationPathDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,18 @@
<UserControl x:Class="HandyControlDemo.UserControl.CarouselDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:Carousel Margin="32" AutoRun="True" Width="600" Height="330">
<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">
<Image Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/3.jpg"></Image>
<TextBlock Text="示例文本" Style="{StaticResource TextBlockDefault}" FontSize="100" FontWeight="Bold" Foreground="White"></TextBlock>
</Grid>
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/4.jpg"></Image>
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/5.jpg"></Image>
</controls:Carousel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// CarouselDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class CarouselDemoCtl
{
public CarouselDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,12 @@
<UserControl x:Class="HandyControlDemo.UserControl.ColorPickerDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<StackPanel Orientation="Horizontal" Margin="32">
<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>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ColorPickerDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ColorPickerDemoCtl
{
public ColorPickerDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,44 @@
<UserControl x:Class="HandyControlDemo.UserControl.CompareSliderDemoCtl"
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"
Background="White">
<controls:TransitioningContentControl>
<controls:ScrollViewer>
<WrapPanel ItemHeight="384" ItemWidth="632">
<controls:CompareSlider Value="5" Width="600" Height="352">
<controls:CompareSlider.TargetContent>
<Border>
<Border.Background>
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b1.jpg"/>
</Border.Background>
</Border>
</controls:CompareSlider.TargetContent>
<controls:CompareSlider.SourceContent>
<Border>
<Border.Background>
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b2.jpg"/>
</Border.Background>
</Border>
</controls:CompareSlider.SourceContent>
</controls:CompareSlider>
<controls:CompareSlider Orientation="Vertical" Value="5" Width="600" Height="352">
<controls:CompareSlider.TargetContent>
<Border>
<Border.Background>
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b1.jpg"/>
</Border.Background>
</Border>
</controls:CompareSlider.TargetContent>
<controls:CompareSlider.SourceContent>
<Border>
<Border.Background>
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b2.jpg"/>
</Border.Background>
</Border>
</controls:CompareSlider.SourceContent>
</controls:CompareSlider>
</WrapPanel>
</controls:ScrollViewer>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// CompareSliderDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class CompareSliderDemoCtl
{
public CompareSliderDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,18 @@
<UserControl x:Class="HandyControlDemo.UserControl.GrowlDemoCtl"
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"
DataContext="{Binding GrowlDemo,Source={StaticResource Locator}}"
Background="White">
<controls:TransitioningContentControl>
<WrapPanel Margin="32">
<Button Command="{Binding InfoCmd}" Content="Info" Margin="0,5,5,5" Style="{StaticResource ButtonPrimary}"></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>
<Button Command="{Binding ErrorCmd}" Content="Error" Margin="5" Style="{StaticResource ButtonDanger}"></Button>
<Button Command="{Binding AskCmd}" Content="Ask" Margin="5" Background="BlueViolet" Foreground="White"></Button>
<Button Command="{Binding FatalCmd}" Content="Fatal" Margin="5,0"></Button>
<Button Command="{Binding ClearCmd}" Content="Clear" Margin="5,0,0,0"></Button>
</WrapPanel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// GrowlDemoGrid.xaml 的交互逻辑
/// </summary>
public partial class GrowlDemoCtl
{
public GrowlDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,10 @@
<UserControl x:Class="HandyControlDemo.UserControl.ImageBrowserDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
DataContext="{Binding ImageBrowserDemo,Source={StaticResource Locator}}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<Button Command="{Binding OpenImgCmd}" Content="{StaticResource OpenImageBrowser}" Style="{StaticResource ButtonPrimary}" Margin="32"></Button>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ImageBrowserDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ImageBrowserDemoCtl
{
public ImageBrowserDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,18 @@
<UserControl x:Class="HandyControlDemo.UserControl.LoadingDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<StackPanel Width="600" Margin="32">
<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">
<controls:LoadingCircle Style="{StaticResource LoadingCircleLight}" Margin="10"></controls:LoadingCircle>
</Border>
</StackPanel>
</StackPanel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// LoadingDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class LoadingDemoCtl
{
public LoadingDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,9 @@
<UserControl x:Class="HandyControlDemo.UserControl.PaginationDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:Pagination Margin="32" Width="600" MaxPageCount="10"></controls:Pagination>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// PaginationDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class PaginationDemoCtl
{
public PaginationDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,9 @@
<UserControl x:Class="HandyControlDemo.UserControl.TimeBarDemoCtl"
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"
Background="White">
<controls:TransitioningContentControl>
<controls:TimeBar BorderThickness="0" Margin="32" Background="{StaticResource PrimaryBrush}" Width="600"></controls:TimeBar>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// TimeBarDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class TimeBarDemoCtl
{
public TimeBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,33 @@
<Border controls:ScrollViewer.IsEnableInertia="True"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:command="http://www.galasoft.ch/mvvmlight"
x:Class="HandyControlDemo.UserControl.LeftMainContent"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:data="clr-namespace:HandyControlDemo.Data"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<TreeView controls:ScrollViewer.IsEnableInertia="True" BorderThickness="0">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedItemChanged">
<command:EventToCommand Command="{Binding SwitchDemoCmd}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TreeViewItem IsExpanded="True" Header="{StaticResource Styles}">
<TreeViewItem Tag="{x:Static data:MessageToken.LoadButtonDemoCtl}" Header="{StaticResource Button}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadToggleButtonDemoCtl}" Header="{StaticResource ToggleButton}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadExpanderDemoCtl}" Header="{StaticResource Expander}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadProgressBarDemoCtl}" Header="{StaticResource ProgressBar}"/>
</TreeViewItem>
<TreeViewItem IsExpanded="True" Header="{StaticResource Controls}">
<TreeViewItem Tag="{x:Static data:MessageToken.LoadGrowlDemoCtl}" Header="{StaticResource Growl}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadLoadingDemoCtl}" Header="{StaticResource Loading}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadImageBrowserDemoCtl}" Header="{StaticResource ImageBrowser}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadColorPickerDemoCtl}" Header="{StaticResource ColorPicker}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadCarouselDemoCtl}" Header="{StaticResource Carousel}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadCompareSliderDemoCtl}" Header="{StaticResource CompareSlider}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadTimeBarDemoCtl}" Header="{StaticResource TimeBar}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadPaginationDemoCtl}" Header="{StaticResource Pagination}"/>
<TreeViewItem Tag="{x:Static data:MessageToken.LoadAnimationPathDemoCtl}" Header="{StaticResource AnimationPath}"/>
</TreeViewItem>
</TreeView>
</Border>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// 左侧主内容
/// </summary>
public partial class LeftMainContent
{
public LeftMainContent()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,20 @@
<Border xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="HandyControlDemo.UserControl.MainContent"
Background="#f0f0f0">
<Border Background="{StaticResource MainContentBackground}">
<Grid Name="GridMain" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="16,0,16,16">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Name="BorderEffect" Grid.RowSpan="2" Background="White" CornerRadius="0,0,10,10" Effect="{StaticResource EffectShadow4}"></Border>
<Border Height="32" Name="BorderTitle" Grid.Row="0" Background="{StaticResource PrimaryBrush}">
<TextBlock Style="{StaticResource TextBlockDefault}" Foreground="White" Text="{Binding ContentTitle}"></TextBlock>
</Border>
<Border Grid.Row="1" ClipToBounds="True">
<ContentPresenter Name="PresenterMain" Margin="0,0,0,10" Content="{Binding SubContent}"/>
</Border>
</Grid>
</Border>
</Border>
@@ -0,0 +1,43 @@
using System.Windows;
using HandyControl.Tools.Extension;
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// 主内容
/// </summary>
public partial class MainContent
{
private bool _isFull;
public MainContent()
{
InitializeComponent();
}
public void FullSwitch(bool isFull)
{
if (_isFull == isFull) return;
_isFull = isFull;
if (_isFull)
{
BorderEffect.Collapse();
BorderTitle.Collapse();
GridMain.HorizontalAlignment = HorizontalAlignment.Stretch;
GridMain.VerticalAlignment = VerticalAlignment.Stretch;
GridMain.Margin = new Thickness();
PresenterMain.Margin = new Thickness();
}
else
{
BorderEffect.Show();
BorderTitle.Show();
GridMain.HorizontalAlignment = HorizontalAlignment.Center;
GridMain.VerticalAlignment = VerticalAlignment.Top;
GridMain.Margin = new Thickness(16, 0, 16, 16);
PresenterMain.Margin = new Thickness(0, 0, 0, 10);
}
}
}
}
@@ -0,0 +1,79 @@
<UserControl x:Class="HandyControlDemo.UserControl.ButtonDemoCtl"
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"
Background="White">
<controls:TransitioningContentControl>
<controls:ScrollViewer IsEnableInertia="True">
<StackPanel Margin="32">
<WrapPanel ItemWidth="160" ItemHeight="130">
<StackPanel>
<Button Content="默认" Margin="5"></Button>
<Button IsEnabled="False" Content="默认" Margin="5"></Button>
</StackPanel>
<StackPanel>
<Button Content="主要" Margin="5" Style="{StaticResource ButtonPrimary}"></Button>
<Button IsEnabled="False" Content="主要" Margin="5" Style="{StaticResource ButtonPrimary}"></Button>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ButtonPrimary"></TextBlock>
</StackPanel>
<StackPanel>
<Button Content="成功" Margin="5" Style="{StaticResource ButtonSuccess}"></Button>
<Button IsEnabled="False" Content="成功" Margin="5" Style="{StaticResource ButtonSuccess}"></Button>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ButtonSuccess"></TextBlock>
</StackPanel>
<StackPanel>
<Button Content="信息" Margin="5" Style="{StaticResource ButtonInfo}"></Button>
<Button IsEnabled="False" Content="信息" Margin="5" Style="{StaticResource ButtonInfo}"></Button>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ButtonInfo"></TextBlock>
</StackPanel>
<StackPanel>
<Button Content="警告" Margin="5" Style="{StaticResource ButtonWarning}"></Button>
<Button IsEnabled="False" Content="警告" Margin="5" Style="{StaticResource ButtonWarning}"></Button>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ButtonWarning"></TextBlock>
</StackPanel>
<StackPanel>
<Button Content="危险" Margin="5" Style="{StaticResource ButtonDanger}"></Button>
<Button IsEnabled="False" Content="危险" Margin="5" Style="{StaticResource ButtonDanger}"></Button>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ButtonDanger"></TextBlock>
</StackPanel>
</WrapPanel>
<WrapPanel ItemWidth="160" ItemHeight="130">
<StackPanel>
<Button Width="50" Padding="16,8" Margin="5" Style="{StaticResource ButtonIconDefault}" controls:IconElement.Angle="45" controls:IconElement.Geometry="{StaticResource DeleteGeometry}"></Button>
<Button Width="50" Padding="16,8" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconDefault}" controls:IconElement.Geometry="{StaticResource DeleteGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(DeleteGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Width="50" Margin="5" Style="{StaticResource ButtonIconPrimary}" controls:IconElement.Geometry="{StaticResource ClockGeometry}"></Button>
<Button Width="50" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconPrimary}" controls:IconElement.Geometry="{StaticResource ClockGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(ClockGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Width="50" Margin="5" Style="{StaticResource ButtonIconSuccess}" controls:IconElement.Geometry="{StaticResource CalendarGeometry}"></Button>
<Button Width="50" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconSuccess}" controls:IconElement.Geometry="{StaticResource CalendarGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(CalendarGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Width="50" Padding="16,8" Margin="5" Style="{StaticResource ButtonIconInfo}" controls:IconElement.Geometry="{StaticResource DownGeometry}"></Button>
<Button Width="50" Padding="16,8" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconInfo}" controls:IconElement.Geometry="{StaticResource DownGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(DownGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Width="50" Margin="5" Style="{StaticResource ButtonIconWarning}" controls:IconElement.Geometry="{StaticResource LeftGeometry}"></Button>
<Button Width="50" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconWarning}" controls:IconElement.Geometry="{StaticResource LeftGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(LeftGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Width="50" Padding="16,8" Margin="5" Style="{StaticResource ButtonIconDanger}" controls:IconElement.Geometry="{StaticResource DeleteGeometry}"></Button>
<Button Width="50" Padding="16,8" IsEnabled="False" Margin="5" Style="{StaticResource ButtonIconDanger}" controls:IconElement.Geometry="{StaticResource DeleteGeometry}"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonIconPrimary(DeleteGeometry)"></TextBlock>
</StackPanel>
<StackPanel>
<Button Margin="5" Height="28" Padding="10,0" Background="#24292e" Foreground="White" Content="透明按钮" Style="{StaticResource ButtonOpacityStyle}" controls:BackgroundSwitchElement.MouseHoverBackground="Red" controls:BackgroundSwitchElement.MouseDownBackground="PaleVioletRed"></Button>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ButtonOpacityStyle"></TextBlock>
</StackPanel>
</WrapPanel>
</StackPanel>
</controls:ScrollViewer>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ButtonDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ButtonDemoCtl
{
public ButtonDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,22 @@
<UserControl x:Class="HandyControlDemo.UserControl.ExpanderDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<StackPanel Margin="32">
<Expander Header="标题1" BorderThickness="1,1,1,0" BorderBrush="{StaticResource BorderBrush}" Width="240" HorizontalAlignment="Left">
<Border Height="100" Background="{StaticResource BackgroundBrush}"></Border>
</Expander>
<Expander Header="标题1" BorderThickness="1,1,1,0" BorderBrush="{StaticResource BorderBrush}" Width="240" HorizontalAlignment="Left">
<Border Height="100" Background="{StaticResource BackgroundBrush}"></Border>
</Expander>
<Expander Header="标题1" BorderThickness="1,1,1,0" BorderBrush="{StaticResource BorderBrush}" Width="240" HorizontalAlignment="Left">
<Border Height="100" Background="{StaticResource BackgroundBrush}"></Border>
</Expander>
<Expander Header="标题1" BorderThickness="1" BorderBrush="{StaticResource BorderBrush}" Width="240" HorizontalAlignment="Left">
<Border Height="100" Background="{StaticResource BackgroundBrush}"></Border>
</Expander>
</StackPanel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,15 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ExpanderDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ExpanderDemoCtl
{
public ExpanderDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,44 @@
<UserControl x:Class="HandyControlDemo.UserControl.ProgressBarDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<WrapPanel Margin="32" ItemWidth="600">
<StackPanel Orientation="Horizontal">
<StackPanel Width="400">
<ProgressBar Value="20" Margin="0,0,0,10"></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarSuccess}" Margin="0,0,0,10" Value="40"></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarInfo}" Margin="0,0,0,10" Value="60"></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarWarning}" Margin="0,0,0,10" Value="80"></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarDanger}" Margin="0,0,0,10" Value="100" Maximum="200"></ProgressBar>
</StackPanel>
<StackPanel Margin="10,0,0,0" Width="200" HorizontalAlignment="Left">
<TextBlock Padding="0,2,0,3" Style="{StaticResource TextBlockDefault}" Text=""></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarSuccess" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarInfo" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarWarning" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarDanger" HorizontalAlignment="Left"></TextBlock>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Width="400">
<ProgressBar Style="{StaticResource ProgressBarPrimaryStripe}" Margin="0,0,0,10" Value="120" Maximum="200" ></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarSuccessStripe}" Margin="0,0,0,10" Value="60" Maximum="200" ></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarInfoStripe}" Margin="0,0,0,10" Value="50" Maximum="200" ></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarWarningStripe}" Margin="0,0,0,10" Value="180" Maximum="200" ></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarDangerStripe}" Margin="0,0,0,10" Value="110" Maximum="200" ></ProgressBar>
<ProgressBar Style="{StaticResource ProgressBarFlat}" Margin="0,8,0,10" Value="110" Maximum="200" ></ProgressBar>
</StackPanel>
<StackPanel Margin="10,0,0,0" Width="200" HorizontalAlignment="Left">
<TextBlock Padding="0,2,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarPrimaryStripe" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarSuccessStripe" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarInfoStripe" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarWarningStripe" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarDangerStripe" HorizontalAlignment="Left"></TextBlock>
<TextBlock Padding="0,12,0,3" Style="{StaticResource TextBlockDefault}" Text="ProgressBarPlayer" HorizontalAlignment="Left"></TextBlock>
</StackPanel>
</StackPanel>
</WrapPanel>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ProgressBarDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ProgressBarDemoCtl
{
public ProgressBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,81 @@
<UserControl x:Class="HandyControlDemo.UserControl.ToggleButtonDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="White"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TransitioningContentControl>
<controls:ScrollViewer IsEnableInertia="True">
<WrapPanel Margin="32" ItemWidth="160" ItemHeight="130">
<StackPanel>
<ToggleButton IsChecked="True" Content="默认" Margin="5"></ToggleButton>
<ToggleButton IsEnabled="False" Content="默认" Margin="5"></ToggleButton>
</StackPanel>
<StackPanel>
<ToggleButton IsChecked="True" Content="主要" Margin="5" Style="{StaticResource ToggleButtonPrimary}"></ToggleButton>
<ToggleButton IsEnabled="False" Content="主要" Margin="5" Style="{StaticResource ToggleButtonPrimary}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonPrimary"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton IsChecked="True" Content="成功" Margin="5" Style="{StaticResource ToggleButtonSuccess}"></ToggleButton>
<ToggleButton IsEnabled="False" Content="成功" Margin="5" Style="{StaticResource ToggleButtonSuccess}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonSuccess"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Content="信息" Margin="5" Style="{StaticResource ToggleButtonInfo}"></ToggleButton>
<ToggleButton IsEnabled="False" Content="信息" Margin="5" Style="{StaticResource ToggleButtonInfo}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonInfo"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Content="警告" Margin="5" Style="{StaticResource ToggleButtonWarning}"></ToggleButton>
<ToggleButton IsEnabled="False" Content="警告" Margin="5" Style="{StaticResource ToggleButtonWarning}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonWarning"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Content="危险" Margin="5" Style="{StaticResource ToggleButtonDanger}"></ToggleButton>
<ToggleButton IsEnabled="False" Content="危险" Margin="5" Style="{StaticResource ToggleButtonDanger}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonDanger"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIcon}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIcon}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconPrimary}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconPrimary}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconSuccess}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconSuccess}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconInfo}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconInfo}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconWarning}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconWarning}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconDanger}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconDanger}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Margin="5" Style="{StaticResource ToggleButtonIconTransparent}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<ToggleButton IsEnabled="False" Margin="5" Style="{StaticResource ToggleButtonIconTransparent}" controls:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" controls:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"></ToggleButton>
<TextBlock TextTrimming="CharacterEllipsis" TextWrapping="Wrap" Style="{StaticResource TextBlockDefault}" Text="ToggleButtonIconTransparent"></TextBlock>
</StackPanel>
<StackPanel>
<ToggleButton Height="30" IsChecked="True" Margin="5" Style="{StaticResource ToggleButtonSwitch}"></ToggleButton>
<ToggleButton Height="30" Margin="5" IsEnabled="False" Style="{StaticResource ToggleButtonSwitch}"></ToggleButton>
<TextBlock Style="{StaticResource TextBlockDefault}" Text="ToggleButtonSwitch"></TextBlock>
</StackPanel>
</WrapPanel>
</controls:ScrollViewer>
</controls:TransitioningContentControl>
</UserControl>
@@ -0,0 +1,14 @@
// ReSharper disable once CheckNamespace
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ToggleButtonDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ToggleButtonDemoCtl
{
public ToggleButtonDemoCtl()
{
InitializeComponent();
}
}
}