support for .NET framework 3.5

Still have bugs
This commit is contained in:
NaBian committed 2019-01-21 00:43:10 +08:00
1 parent 5878039e21
commit 7d6b491f25
704 files changed
+48273 -33

No files matched your search

@@ -0,0 +1,7 @@
<UserControl x:Class="HandyControlDemo.UserControl.AnimationPathDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Background="{DynamicResource RegionBrush}"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:AnimationPath VerticalAlignment="Center" Margin="32" PathLength="400" Duration="0:0:4" Stretch="Uniform" Width="200" Height="200" StrokeThickness="2" Stroke="{DynamicResource 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"/>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class AnimationPathDemoCtl
{
public AnimationPathDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,16 @@
<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="{DynamicResource RegionBrush}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:Carousel Margin="32" IsCenter="True" AutoRun="True" Width="600" Height="330" VerticalAlignment="Center">
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/1.jpg"/>
<Image Width="300" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/2.jpg"/>
<Grid Width="600">
<Image Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/3.jpg"/>
<TextBlock Text="示例文本" Style="{StaticResource TextBlockDefault}" FontSize="100" FontWeight="Bold" Foreground="White"/>
</Grid>
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/4.jpg"/>
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/5.jpg"/>
</controls:Carousel>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class CarouselDemoCtl
{
public CarouselDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,16 @@
<UserControl x:Class="HandyControlDemo.UserControl.CirclePanelDemoCtl"
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="{DynamicResource RegionBrush}">
<controls:CirclePanel Margin="64" Diameter="170">
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
<Button Style="{StaticResource CirclePanelButton}"/>
</controls:CirclePanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class CirclePanelDemoCtl
{
public CirclePanelDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,14 @@
<UserControl x:Class="HandyControlDemo.UserControl.CircleProgressBarDemoCtl"
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="{DynamicResource RegionBrush}">
<StackPanel Orientation="Horizontal" Margin="32">
<controls:CircleProgressBar Value="50"/>
<controls:CircleProgressBar Value="80" FontSize="30" Margin="16,0,0,0"/>
<controls:CircleProgressBar Value="10" Margin="16,0,0,0" ShowText="False" Width="20" Height="20" ArcThickness="2" Style="{StaticResource ProgressBarSuccessCircle}"/>
<controls:CircleProgressBar Value="20" Margin="16,0,0,0" ShowText="False" Width="30" Height="30" ArcThickness="6" Style="{StaticResource ProgressBarInfoCircle}"/>
<controls:CircleProgressBar Value="40" Margin="16,0,0,0" ShowText="False" Width="40" Height="40" ArcThickness="10" Style="{StaticResource ProgressBarWarningCircle}"/>
<controls:CircleProgressBar Value="80" Margin="16,0,0,0" Width="50" Height="50" Style="{StaticResource ProgressBarDangerCircle}"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class CircleProgressBarDemoCtl
{
public CircleProgressBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,6 @@
<UserControl x:Class="HandyControlDemo.UserControl.ColorPickerDemoCtl"
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">
<controls:ColorPicker Name="ColorPicker" Margin="32"/>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class ColorPickerDemoCtl
{
public ColorPickerDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,25 @@
<UserControl x:Class="HandyControlDemo.UserControl.ComboBoxDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="{Binding ComboBoxDemo,Source={StaticResource Locator}}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
Background="{DynamicResource RegionBrush}">
<ScrollViewer>
<StackPanel Margin="32">
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" SelectedIndex="0"/>
<controls:ComboBox ItemsSource="{Binding DataList}" Margin="0,16,0,0" SelectedIndex="0" IsEnabled="False"/>
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" SelectedIndex="0" Margin="0,16,0,0" IsEditable="True"/>
<controls:ComboBox ItemsSource="{Binding DataList}" SelectedIndex="0" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr2}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
<controls:ComboBox ItemsSource="{Binding DataList}" IsEditable="True" SelectedIndex="0" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" IsEditable="True" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr2}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
<controls:ComboBox ItemsSource="{Binding DataList}" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
<controls:ComboBox ItemsSource="{Binding DataList}" IsEditable="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:ComboBox ShowClearButton="True" ItemsSource="{Binding DataList}" IsEditable="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
</ScrollViewer>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class ComboBoxDemoCtl
{
public ComboBoxDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,42 @@
<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="{DynamicResource RegionBrush}">
<controls:ScrollViewer VerticalAlignment="Center">
<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>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class CompareSliderDemoCtl
{
public CompareSliderDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,7 @@
<UserControl x:Class="HandyControlDemo.UserControl.CoverFlowDemoCtl"
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="{DynamicResource RegionBrush}">
<controls:CoverFlow x:Name="CoverFlowMain" Margin="32" Width="500" Height="300"/>
</UserControl>
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
namespace HandyControlDemo.UserControl
{
public partial class CoverFlowDemoCtl
{
public CoverFlowDemoCtl()
{
InitializeComponent();
CoverFlowMain.AddRange(new List<Uri>
{
new Uri(@"pack://application:,,,/Resources/Img/Album/1.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/2.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/3.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/4.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/5.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/6.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/7.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/8.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/9.jpg"),
new Uri(@"pack://application:,,,/Resources/Img/Album/10.jpg")
});
CoverFlowMain.JumpTo(2);
}
}
}
@@ -0,0 +1,89 @@
<UserControl x:Class="HandyControlDemo.UserControl.CoverViewDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<controls:CoverView Margin="27" Width="880" Height="432" ItemWidth="160" ItemHeight="160">
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/1.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource SuccessBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/2.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/3.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource WarningBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/4.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource DangerBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/5.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource SuccessBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/6.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/7.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource InfoBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/8.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource WarningBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/9.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
<controls:CoverViewItem>
<controls:CoverViewItem.Header>
<Image Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg"/>
</controls:CoverViewItem.Header>
<Border Margin="10" Height="300" Background="{DynamicResource DangerBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:CoverViewItem>
</controls:CoverView>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class CoverViewDemoCtl
{
public CoverViewDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,7 @@
<UserControl x:Class="HandyControlDemo.UserControl.FlipClockDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{DynamicResource RegionBrush}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:FlipClock Margin="32"/>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class FlipClockDemoCtl
{
public FlipClockDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,11 @@
<UserControl x:Class="HandyControlDemo.UserControl.GifImageDemoCtl"
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="{DynamicResource RegionBrush}">
<controls:GifImage x:Name="GifImageMain" Margin="32" Width="400" Height="300">
<controls:GifImage.Source>
<BitmapImage UriSource="/HandyControlDemo;component/Resources/Img/car_chase.gif"/>
</controls:GifImage.Source>
</controls:GifImage>
</UserControl>
@@ -0,0 +1,17 @@
using System;
namespace HandyControlDemo.UserControl
{
public partial class GifImageDemoCtl : IDisposable
{
public GifImageDemoCtl()
{
InitializeComponent();
}
public void Dispose()
{
GifImageMain.Dispose();
}
}
}
@@ -0,0 +1,16 @@
<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:langs="clr-namespace:HandyControlDemo.Properties.Langs"
DataContext="{Binding GrowlDemo,Source={StaticResource Locator}}"
Background="{DynamicResource RegionBrush}">
<WrapPanel Margin="32" VerticalAlignment="Center">
<Button Command="{Binding InfoCmd}" Content="{x:Static langs:Lang.Info}" Margin="0,5,5,5" Style="{StaticResource ButtonInfo}"/>
<Button Command="{Binding SuccessCmd}" Content="{x:Static langs:Lang.Success}" Margin="5" Style="{StaticResource ButtonSuccess}"/>
<Button Command="{Binding WarningCmd}" Content="{x:Static langs:Lang.Warning}" Margin="5" Style="{StaticResource ButtonWarning}"/>
<Button Command="{Binding ErrorCmd}" Content="{x:Static langs:Lang.Error}" Margin="5" Style="{StaticResource ButtonDanger}"/>
<Button Command="{Binding AskCmd}" Content="{x:Static langs:Lang.Ask}" Margin="5" Background="BlueViolet" Foreground="White"/>
<Button Command="{Binding FatalCmd}" Content="{x:Static langs:Lang.Fatal}" Margin="5,0"/>
<Button Command="{Binding ClearCmd}" Content="{x:Static langs:Lang.Clear}" Margin="5,0,0,0" Style="{StaticResource ButtonPrimary}"/>
</WrapPanel>
</UserControl>
@@ -0,0 +1,14 @@
namespace HandyControlDemo.UserControl
{
/// <summary>
/// GrowlDemoGrid.xaml 的交互逻辑
/// </summary>
public partial class GrowlDemoCtl
{
public GrowlDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,12 @@
<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="{DynamicResource RegionBrush}"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
DataContext="{Binding ImageBrowserDemo,Source={StaticResource Locator}}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<StackPanel Margin="32">
<controls:ImageViewer Background="{DynamicResource BackgroundBrush}" Width="600" Height="330" ImageSource="/HandyControlDemo;component/Resources/Img/1.jpg"/>
<Button Margin="0,32,0,0" Command="{Binding OpenImgCmd}" Content="{x:Static langs:Lang.OpenImageBrowser}" Style="{StaticResource ButtonPrimary}" HorizontalAlignment="Center"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,14 @@
namespace HandyControlDemo.UserControl
{
/// <summary>
/// ImageBrowserDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class ImageBrowserDemoCtl
{
public ImageBrowserDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,16 @@
<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="{DynamicResource RegionBrush}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<StackPanel Width="600" Margin="32" VerticalAlignment="Center">
<controls:LoadingLine/>
<controls:LoadingLine Margin="0,30" Foreground="BlueViolet" Style="{StaticResource LoadingLineLarge}"/>
<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"/>
</Border>
</StackPanel>
</StackPanel>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class LoadingDemoCtl
{
public LoadingDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,27 @@
<UserControl x:Class="HandyControlDemo.UserControl.NumericUpDownDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<StackPanel Margin="32" Orientation="Horizontal">
<StackPanel>
<controls:NumericUpDown/>
<controls:NumericUpDown Margin="0,32,0,0" IsEnabled="False"/>
<controls:NumericUpDown controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Style="{StaticResource NumericUpDownExtend}"/>
<controls:NumericUpDown controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" controls:InfoElement.Necessary="True" Style="{StaticResource NumericUpDownExtend}"/>
<controls:NumericUpDown Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource NumericUpDownExtend}" Margin="0,32,0,0"/>
<controls:NumericUpDown Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource NumericUpDownExtend}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
<StackPanel Margin="32,0,0,0">
<controls:NumericUpDown Name="NumericUpDownCustomVerify" ShowClearButton="True" Style="{StaticResource NumericUpDownPlus}"/>
<controls:NumericUpDown Margin="0,32,0,0" IsEnabled="False" Style="{StaticResource NumericUpDownPlus}"/>
<controls:NumericUpDown ShowClearButton="True" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Style="{StaticResource NumericUpDownPlus}"/>
<controls:NumericUpDown controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" controls:InfoElement.Necessary="True" Style="{StaticResource NumericUpDownPlus}"/>
<controls:NumericUpDown Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource NumericUpDownPlus}" Margin="0,32,0,0"/>
<controls:NumericUpDown DecimalPlaces="2" ShowClearButton="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource NumericUpDownPlus}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
</StackPanel>
</UserControl>
@@ -0,0 +1,19 @@
using HandyControl.Data;
namespace HandyControlDemo.UserControl
{
public partial class NumericUpDownDemoCtl
{
public NumericUpDownDemoCtl()
{
InitializeComponent();
NumericUpDownCustomVerify.VerifyFunc = str => double.TryParse(str, out var v)
? v % 2 < 1e-06
? OperationResult.Failed(Properties.Langs.Lang.Error)
: OperationResult.Success()
: OperationResult.Failed(Properties.Langs.Lang.Error);
}
}
}
@@ -0,0 +1,14 @@
<UserControl x:Class="HandyControlDemo.UserControl.OutlineTextDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<StackPanel Margin="32" Width="400">
<controls:OutlineText TextWrapping="Wrap" Text="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=20}"/>
<controls:OutlineText Margin="0,10,0,0" FontSize="30" Fill="{DynamicResource SuccessBrush}" Text="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=8}"/>
<controls:OutlineText Margin="0,10,0,0" FontSize="30" FontStyle="Italic" Text="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=8}"/>
<controls:OutlineText Margin="0,10,0,0" TextTrimming="CharacterEllipsis" FontSize="50" StrokeThickness="2" Fill="{DynamicResource DangerBrush}" Stroke="{DynamicResource PrimaryBrush}" Text="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=5}"/>
<controls:OutlineText Margin="0,10,0,0" FontSize="80" FontWeight="Bold" StrokeThickness="4" Fill="{DynamicResource PrimaryBrush}" Stroke="{DynamicResource DangerBrush}" Text="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=2}"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class OutlineTextDemoCtl
{
public OutlineTextDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,17 @@
<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="{DynamicResource RegionBrush}"
DataContext="{Binding PaginationDemo,Source={StaticResource Locator}}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:i="clr-namespace:HandyControl.Interactivity;assembly=HandyControl">
<Grid Margin="32">
<controls:Pagination Width="500" VerticalAlignment="Center" MaxPageCount="10" PageIndex="{Binding PageIndex}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="PageUpdated">
<i:EventToCommand Command="{Binding PageUpdatedCmd}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</controls:Pagination>
</Grid>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class PaginationDemoCtl
{
public PaginationDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,18 @@
<UserControl x:Class="HandyControlDemo.UserControl.PasswordBoxDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<StackPanel Margin="32">
<controls:PasswordBox ShowClearButton="True" Password="123456"/>
<controls:PasswordBox Password="123456" IsEnabled="False" Margin="0,16,0,0"/>
<controls:PasswordBox ShowClearButton="True" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Password="123456" Margin="0,32,0,0"/>
<controls:PasswordBox controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr2}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
<controls:PasswordBox ShowClearButton="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Margin="0,32,0,0" Password="123456"/>
<controls:PasswordBox Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class PasswordBoxDemoCtl
{
public PasswordBoxDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,11 @@
<UserControl x:Class="HandyControlDemo.UserControl.PreviewSliderDemoCtl"
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="{DynamicResource RegionBrush}">
<controls:PreviewSlider Name="PreviewSlider" Width="800" Value="500" Maximum="1000" VerticalAlignment="Center" Margin="32">
<controls:PreviewSlider.PreviewContent>
<Label Style="{StaticResource LabelPrimary}" Content="{Binding PreviewPosition,ElementName=PreviewSlider}" ContentStringFormat="{}{0:#0.0}"/>
</controls:PreviewSlider.PreviewContent>
</controls:PreviewSlider>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class PreviewSliderDemoCtl
{
public PreviewSliderDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,13 @@
<UserControl x:Class="HandyControlDemo.UserControl.RateDemoCtl"
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="{DynamicResource RegionBrush}">
<StackPanel Margin="32" HorizontalAlignment="Center" VerticalAlignment="Center" Width="170">
<controls:Rate Value="2"/>
<controls:Rate Value="5" Count="6" Margin="0,16,0,0" Foreground="{DynamicResource SuccessBrush}"/>
<controls:Rate DefaultValue="3" IsReadOnly="True" AllowHalf="True" Margin="0,16,0,0" Foreground="{DynamicResource WarningBrush}"/>
<controls:Rate DefaultValue="1" AllowClear="False" AllowHalf="True" Margin="0,16,0,0" Foreground="{DynamicResource DangerBrush}" Icon="{StaticResource LoveGeometry}"/>
<controls:Rate Value="4.5" AllowHalf="True" ShowText="True" Margin="0,16,0,0" Foreground="{DynamicResource DangerBrush}" Icon="{StaticResource LoveGeometry}"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class RateDemoCtl
{
public RateDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,77 @@
<UserControl x:Class="HandyControlDemo.UserControl.ScrollViewerDemoCtl"
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"
Background="{DynamicResource RegionBrush}"
Width="550"
Height="600">
<Grid Margin="32">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<controls:ScrollViewer Orientation="Horizontal" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" IsEnableInertia="True">
<StackPanel Orientation="Horizontal">
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
</StackPanel>
</controls:ScrollViewer>
</Border>
<Border Grid.Row="1" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}" Margin="0,16,0,0">
<controls:ScrollViewer IsEnableInertia="True">
<WrapPanel Orientation="Horizontal">
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="10,10,32,10">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
</WrapPanel>
</controls:ScrollViewer>
</Border>
</Grid>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class ScrollViewerDemoCtl
{
public ScrollViewerDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,27 @@
<UserControl x:Class="HandyControlDemo.UserControl.SearchBarDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<StackPanel Margin="32" Orientation="Horizontal">
<StackPanel>
<controls:SearchBar/>
<controls:SearchBar Margin="0,32,0,0" IsEnabled="False"/>
<controls:SearchBar controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Style="{StaticResource SearchBarExtend}"/>
<controls:SearchBar controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" controls:InfoElement.Necessary="True" Style="{StaticResource SearchBarExtend}"/>
<controls:SearchBar Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource SearchBarExtend}" Margin="0,32,0,0"/>
<controls:SearchBar Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource SearchBarExtend}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
<StackPanel Margin="32,0,0,0">
<controls:SearchBar Name="SearchBarCustomVerify" ShowClearButton="True" Style="{StaticResource SearchBarPlus}"/>
<controls:SearchBar Margin="0,32,0,0" IsEnabled="False" Style="{StaticResource SearchBarPlus}"/>
<controls:SearchBar ShowClearButton="True" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Style="{StaticResource SearchBarPlus}"/>
<controls:SearchBar TextType="Mail" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterEmail}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" controls:InfoElement.Necessary="True" Style="{StaticResource SearchBarPlus}"/>
<controls:SearchBar Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource SearchBarPlus}" Margin="0,32,0,0"/>
<controls:SearchBar ShowClearButton="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Style="{StaticResource SearchBarPlus}" controls:InfoElement.Necessary="True" Margin="0,32,0,0"/>
</StackPanel>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class SearchBarDemoCtl
{
public SearchBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,14 @@
<UserControl x:Class="HandyControlDemo.UserControl.ShieldDemoCtl"
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:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl"
Background="{DynamicResource RegionBrush}">
<StackPanel Orientation="Horizontal" Margin="32">
<controls:Shield Subject=".net" Status=">=4.0" Color="#1182c3"/>
<controls:Shield Subject="c#" Status="7.0" Margin="4,0,0,0" Color="#1182c3"/>
<controls:Shield Subject="IDE" Status="2017" Margin="4,0,0,0" Color="#1182c3"/>
<controls:Shield Subject="chat" Status="on gitter" Margin="4,0,0,0" Color="#4eb899" Command="interactivity:ControlCommands.OpenLink" controls:LinkElement.Link="https://gitter.im/HandyControl/Lobby?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge&amp;utm_content=badge"/>
<controls:Shield Subject="qq" Status="714704041" Margin="4,0,0,0" Color="#d8624c" Command="interactivity:ControlCommands.OpenLink" controls:LinkElement.Link="http://shang.qq.com/wpa/qunwpa?idkey=a571e5553c9d41e49c4f22f3a8b2865451497a795ff281fedf3285def247efc1"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class ShieldDemoCtl
{
public ShieldDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,57 @@
<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"
DataContext="{Binding StepBarDemo,Source={StaticResource Locator}}"
FocusManager.FocusedElement="{Binding RelativeSource={x:Static RelativeSource.Self}, Mode=OneTime}"
Background="{DynamicResource RegionBrush}">
<Grid Margin="32" Name="PanelMain">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<controls:StepBar Grid.ColumnSpan="2">
<controls:StepBarItem Content="{x:Static langs:Lang.Register}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.BasicInfo}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.UploadFile}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.Complete}"/>
</controls:StepBar>
<StackPanel Margin="0,32" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Center">
<Button Command="{Binding PrevCmd}" CommandParameter="{Binding ElementName=PanelMain}" Width="180" Content="{x:Static langs:Lang.Prev}" Style="{StaticResource ButtonPrimary}"/>
<Button Command="{Binding NextCmd}" CommandParameter="{Binding ElementName=PanelMain}" Width="180" Margin="0,16,0,0" Content="{x:Static langs:Lang.Next}" Style="{StaticResource ButtonPrimary}"/>
</StackPanel>
<controls:StepBar Margin="0,0,0,32" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Dock="Bottom">
<controls:StepBarItem Content="{x:Static langs:Lang.Register}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.BasicInfo}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.UploadFile}"/>
<controls:StepBarItem Content="{x:Static langs:Lang.Complete}"/>
</controls:StepBar>
<controls:StepBar Grid.Column="0" Grid.Row="3" ItemsSource="{Binding DataList}" Dock="Left">
<controls:StepBar.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Header}" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left"/>
<TextBlock Margin="0,4,0,0" Text="{Binding Content}"/>
</StackPanel>
</DataTemplate>
</controls:StepBar.ItemTemplate>
</controls:StepBar>
<controls:StepBar Grid.Column="1" Grid.Row="3" ItemsSource="{Binding DataList}" Dock="Right">
<controls:StepBar.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Header}" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left"/>
<TextBlock Margin="0,4,0,0" Text="{Binding Content}"/>
</StackPanel>
</DataTemplate>
</controls:StepBar.ItemTemplate>
</controls:StepBar>
</Grid>
</UserControl>
@@ -0,0 +1,14 @@
namespace HandyControlDemo.UserControl
{
/// <summary>
/// StepBarDemoCtl.xaml 的交互逻辑
/// </summary>
public partial class StepBarDemoCtl
{
public StepBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,63 @@
<UserControl x:Class="HandyControlDemo.UserControl.TabControlDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{DynamicResource RegionBrush}"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel>
<Label Style="{StaticResource LabelPrimary}" Content="Default" Margin="32,32,0,0" HorizontalAlignment="Left"/>
<controls:TabControl Margin="32,16,32,0" Width="800" Height="300">
<controls:TabItem Header="TabItem1">
<Grid Background="White"/>
</controls:TabItem>
<controls:TabItem Header="TabItem2">
<Grid Background="{DynamicResource DarkDangerBrush}"/>
</controls:TabItem>
<controls:TabItem Header="TabItem3" IsSelected="True">
<Grid Background="{DynamicResource PrimaryBrush}"/>
</controls:TabItem>
<controls:TabItem Header="TabItem4">
<Grid Background="{DynamicResource DarkInfoBrush}"/>
</controls:TabItem>
<controls:TabItem Header="TabItem5">
<Grid Background="{DynamicResource DarkSuccessBrush}"/>
</controls:TabItem>
<controls:TabItem Header="TabItem6">
<Grid Background="{DynamicResource DarkWarningBrush}"/>
</controls:TabItem>
<controls:TabItem Header="TabItem7">
<Grid Background="{DynamicResource DarkAccentBrush}"/>
</controls:TabItem>
</controls:TabControl>
<StackPanel Orientation="Horizontal" Margin="32,32,32,16">
<Label Style="{StaticResource LabelPrimary}" Margin="0" Content="IsEnableTabFill = True"/>
<Label Style="{StaticResource LabelPrimary}" Margin="16,0,0,0" Content="ShowCloseButton = True"/>
<Label Style="{StaticResource LabelPrimary}" Margin="16,0,0,0" Content="IsDraggable = True"/>
<Label Style="{StaticResource LabelPrimary}" Margin="16,0,0,0" Content="IsEnableAnimation = True"/>
</StackPanel>
<controls:TabControl IsEnableAnimation="True" ShowCloseButton="True" IsDraggable="True" IsEnableTabFill="True" Margin="32,0,32,32" Width="800" Height="300">
<controls:TabItem Header="TabItem1">
<Grid Background="White"/>
</controls:TabItem>
<controls:TabItem IsSelected="True" Header="TabItem2">
<Grid Background="#FFE8563F"/>
</controls:TabItem>
<controls:TabItem Header="TabItem3">
<Grid Background="#FF3F4EE8"/>
</controls:TabItem>
<controls:TabItem Header="TabItem4">
<Grid Background="#FFE83F6D"/>
</controls:TabItem>
<controls:TabItem Header="TabItem5">
<Grid Background="#FFB23FE8"/>
</controls:TabItem>
<controls:TabItem Header="TabItem6">
<Grid Background="#FF3FE8E8"/>
</controls:TabItem>
<controls:TabItem Header="TabItem7">
<Grid Background="#FFE8E03F"/>
</controls:TabItem>
</controls:TabControl>
</StackPanel>
</controls:ScrollViewer>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class TabControlDemoCtl
{
public TabControlDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,19 @@
<UserControl x:Class="HandyControlDemo.UserControl.TagDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{DynamicResource RegionBrush}"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<controls:TagPanel AddTagButtonClick="TagPanel_OnAddTagButtonClick" Margin="32" Orientation="Horizontal" MaxWidth="400" VerticalAlignment="Center" ShowAddButton="True">
<controls:Tag ShowCloseButton="False" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=2}"/>
<controls:Tag Selectable="True" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=3}"/>
<controls:Tag ShowCloseButton="False" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=4}"/>
<controls:Tag Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=5}"/>
<controls:Tag IsSelected="True" Selectable="True" ShowCloseButton="False" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=4}"/>
<controls:Tag Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=3}"/>
<controls:Tag ShowCloseButton="False" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=2}"/>
<controls:Tag IsSelected="True" Selectable="True" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=3}"/>
<controls:Tag ShowCloseButton="False" Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=4}"/>
<controls:Tag Content="{Binding Source={x:Static langs:Lang.Text}, Converter={StaticResource StringRepeatConverter}, ConverterParameter=5}"/>
</controls:TagPanel>
</UserControl>
@@ -0,0 +1,24 @@
using System;
using HandyControl.Controls;
namespace HandyControlDemo.UserControl
{
public partial class TagDemoCtl
{
public TagDemoCtl()
{
InitializeComponent();
}
private void TagPanel_OnAddTagButtonClick(object sender, EventArgs e)
{
if (sender is TagPanel panel)
{
panel.Children.Add(new Tag
{
Content = Properties.Langs.Lang.SubTitle
});
}
}
}
}
@@ -0,0 +1,16 @@
<UserControl x:Class="HandyControlDemo.UserControl.TextBoxDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{DynamicResource RegionBrush}"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
<StackPanel Margin="32">
<controls:TextBox ShowClearButton="True" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:TextBox Text="{x:Static langs:Lang.ContentDemoStr}" Margin="0,16,0,0" IsEnabled="False"/>
<controls:TextBox ShowClearButton="True" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:TextBox TextType="Mail" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterEmail}" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr2}" controls:InfoElement.Necessary="True" Margin="0,16,0,0"/>
<controls:TextBox Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" Margin="0,32,0,0" Text="{x:Static langs:Lang.ContentDemoStr}"/>
<controls:TextBox ShowClearButton="True" Width="380" controls:InfoElement.TitleWidth="140" controls:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}" controls:InfoElement.TitleAlignment="Left" controls:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" controls:InfoElement.Necessary="True" Margin="0,16,0,0"/>
</StackPanel>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class TextBoxDemoCtl
{
public TextBoxDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,7 @@
<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="{DynamicResource RegionBrush}">
<controls:TimeBar BorderThickness="0" Margin="32" Width="600" VerticalAlignment="Center"/>
</UserControl>
@@ -0,0 +1,11 @@
namespace HandyControlDemo.UserControl
{
public partial class TimeBarDemoCtl
{
public TimeBarDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,54 @@
<UserControl x:Class="HandyControlDemo.UserControl.WaterfallPanelDemoCtl"
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"
Background="{DynamicResource RegionBrush}">
<Grid Margin="32">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<controls:NumericUpDown x:Name="UpDownGroups" HorizontalAlignment="Center" Value="2" Minimum="1" Maximum="3" Width="200" Style="{StaticResource NumericUpDownExtend}" controls:TitleElement.Title="{x:Static langs:Lang.Groups}" controls:TitleElement.TitleWidth="50" controls:TitleElement.TitleAlignment="Left"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,16,0,0">
<controls:ScrollViewer MaxHeight="300">
<controls:WaterfallPanel VerticalAlignment="Center" Width="300" Groups="{Binding Value,ElementName=UpDownGroups}" controls:PanelElement.FluidMoveBehavior="{StaticResource BehaviorXY200}">
<Border Height="100" Background="{DynamicResource PrimaryBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Height="140" Background="{DynamicResource DangerBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Height="100" Background="{DynamicResource SuccessBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Height="170" Background="{DynamicResource InfoBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Height="100" Background="{DynamicResource WarningBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:WaterfallPanel>
</controls:ScrollViewer>
<controls:ScrollViewer Margin="32,0,0,0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" Orientation="Horizontal" MaxWidth="300">
<controls:WaterfallPanel VerticalAlignment="Center" Height="300" Orientation="Vertical" Groups="{Binding Value,ElementName=UpDownGroups}" controls:PanelElement.FluidMoveBehavior="{StaticResource BehaviorXY200}">
<Border Width="100" Background="{DynamicResource PrimaryBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Width="140" Background="{DynamicResource DangerBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Width="100" Background="{DynamicResource SuccessBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Width="170" Background="{DynamicResource InfoBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
<Border Width="100" Background="{DynamicResource WarningBrush}" Effect="{StaticResource EffectShadow1}" Margin="5">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</controls:WaterfallPanel>
</controls:ScrollViewer>
</StackPanel>
</Grid>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class WaterfallPanelDemoCtl
{
public WaterfallPanelDemoCtl()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,17 @@
<UserControl x:Class="HandyControlDemo.UserControl.WindowDemoCtl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
xmlns:data="clr-namespace:HandyControlDemo.Data"
DataContext="{Binding WindowDemo,Source={StaticResource Locator}}"
Background="{DynamicResource RegionBrush}">
<UniformGrid Margin="32" Columns="3" Rows="3" Height="200">
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.CommonWindow}" Content="{x:Static langs:Lang.OpenCommonWindow}"/>
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.BlurWindow}" Content="{x:Static langs:Lang.OpenBlurWindow}"/>
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.CustomNonClientAreaWindow}" Content="{x:Static langs:Lang.OpenCustomNonClientAreaWindow}"/>
<Button Click="ButtonMessage_OnClick" Content="{x:Static langs:Lang.OpenMessageWindow}"/>
<Button Click="ButtonCustomContent_OnClick" Content="{x:Static langs:Lang.OpenCustomContentWindow}"/>
<Button Name="ButtonMouseFollow" Click="ButtonMouseFollow_OnClick" Content="{x:Static langs:Lang.OpenMouseFollowWindow}"/>
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.NoNonClientAreaDragableWindow}" Content="{x:Static langs:Lang.OpenNoNonClientAreaDragableWindow}"/>
</UniformGrid>
</UserControl>
@@ -0,0 +1,51 @@
using System.Windows;
using HandyControl.Controls;
using HandyControl.Tools;
using MessageBox = HandyControl.Controls.MessageBox;
namespace HandyControlDemo.UserControl
{
public partial class WindowDemoCtl
{
public WindowDemoCtl()
{
InitializeComponent();
}
private void ButtonMessage_OnClick(object sender, RoutedEventArgs e)
{
MessageBox.Show(Properties.Langs.Lang.GrowlAsk, Properties.Langs.Lang.Title, MessageBoxButton.YesNo, MessageBoxImage.Question);
}
private void ButtonMouseFollow_OnClick(object sender, RoutedEventArgs e)
{
var picker = SingleOpenHelper.CreateControl<ColorPicker>();
var window = new PopupWindow
{
PopupElement = picker
};
picker.SelectedColorChanged += delegate { window.Close(); };
picker.Canceled += delegate { window.Close(); };
window.Show(ButtonMouseFollow, false);
}
private void ButtonCustomContent_OnClick(object sender, RoutedEventArgs e)
{
var picker = SingleOpenHelper.CreateControl<ColorPicker>();
var window = new PopupWindow
{
PopupElement = picker,
WindowStartupLocation = WindowStartupLocation.CenterScreen,
AllowsTransparency = true,
WindowStyle = WindowStyle.None,
MinWidth = 0,
MinHeight = 0,
Title = Properties.Langs.Lang.ColorPicker
};
picker.SelectedColorChanged += delegate { window.Close(); };
picker.Canceled += delegate { window.Close(); };
window.Show();
}
}
}