This commit is contained in:
NaBian committed 2019-11-17 13:32:14 +08:00
1 parent 334b2269b6
commit 4e14400307
9 files changed
+225 -89

No files matched your search

@@ -0,0 +1,9 @@
namespace HandyControlDemo.Data
{
public class TabControlDemoModel
{
public string Header { get; set; }
public string BackgroundToken { get; set; }
}
}
@@ -22,6 +22,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Data\Model\CoverViewDemoModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\Model\DemoDataModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\Model\StepBarDemoModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Data\Model\TabControlDemoModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)MainWindow.xaml.cs">
<SubType>Code</SubType>
<DependentUpon>MainWindow.xaml</DependentUpon>
@@ -13,6 +13,38 @@ namespace HandyControlDemo.Service
{
public class DataService
{
internal ObservableCollection<TabControlDemoModel> GetTabControlDemoDataList()
{
return new ObservableCollection<TabControlDemoModel>
{
new TabControlDemoModel
{
Header = "Success",
BackgroundToken = ResourceToken.SuccessBrush
},
new TabControlDemoModel
{
Header = "Primary",
BackgroundToken = ResourceToken.PrimaryBrush
},
new TabControlDemoModel
{
Header = "Warning",
BackgroundToken = ResourceToken.WarningBrush
},
new TabControlDemoModel
{
Header = "Danger",
BackgroundToken = ResourceToken.DangerBrush
},
new TabControlDemoModel
{
Header = "Info",
BackgroundToken = ResourceToken.InfoBrush
}
};
}
internal List<DemoDataModel> GetDemoDataList()
{
var list = new List<DemoDataModel>();
@@ -18,32 +18,7 @@
<Label Style="{StaticResource LabelPrimary}" Content="Default" Margin="32,32,0,0" HorizontalAlignment="Left"/>
<hc:TabControl ShowOverflowButton="False" ShowScrollButton="True" Margin="32,16,32,0" Width="800" Height="300" IsScrollable="True">
<hc:TabItem Header="TabItem1" IsSelected="True">
<!--<hc:SimplePanel Background="White"/>-->
<hc:TransitioningContentControl>
<StackPanel Margin="32">
<Slider Value="50" Name="SliderDemo" Maximum="100"/>
<StackPanel Orientation="Horizontal" Margin="0,32,0,0">
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}"/>
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}" FontSize="30" Margin="16,0,0,0"/>
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}" Margin="16,0,0,0" ShowText="False" Width="20" Height="20" ArcThickness="2" Style="{StaticResource ProgressBarSuccessCircle}"/>
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}" Margin="16,0,0,0" ShowText="False" Width="30" Height="30" ArcThickness="6" Style="{StaticResource ProgressBarInfoCircle}"/>
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}" Margin="16,0,0,0" ShowText="False" Width="40" Height="40" ArcThickness="10" Style="{StaticResource ProgressBarWarningCircle}"/>
<hc:CircleProgressBar Value="{Binding Value,ElementName=SliderDemo}" Margin="16,0,0,0" Width="50" Height="50" Style="{StaticResource ProgressBarDangerCircle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,32,0,0">
<hc:WaveProgressBar Value="{Binding Value,ElementName=SliderDemo}"/>
<hc:WaveProgressBar Value="{Binding Value,ElementName=SliderDemo}" FontSize="20" Margin="16,0,0,0" WaveThickness="4" WaveStroke="#FFFF0080">
<hc:WaveProgressBar.WaveFill>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#66FF0080" Offset="0"/>
<GradientStop Color="#FFFF0080" Offset="1"/>
</LinearGradientBrush>
</hc:WaveProgressBar.WaveFill>
</hc:WaveProgressBar>
<hc:WaveProgressBar Value="{Binding Value,ElementName=SliderDemo}" Margin="16,0,0,0" ShowText="False" Width="50" Height="50" Style="{StaticResource ProgressBarWarningWave}"/>
</StackPanel>
</StackPanel>
</hc:TransitioningContentControl>
<hc:SimplePanel Background="White"/>
</hc:TabItem>
<hc:TabItem Header="TabItem2">
<hc:SimplePanel Background="{DynamicResource DarkDangerBrush}"/>
@@ -70,12 +45,12 @@
<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>
<hc:TabControl IsEnableAnimation="True" ShowCloseButton="True" IsDraggable="True" IsEnableTabFill="True" Margin="32,0,32,32" Width="800" Height="300">
<hc:TabControl x:Name="TabControlDemo" IsEnableAnimation="True" ShowCloseButton="True" IsDraggable="True" IsEnableTabFill="True" Margin="32,0,32,32" Width="800" Height="300">
<hc:TabItem Header="TabItem1">
<hc:SimplePanel Background="White"/>
</hc:TabItem>
<hc:TabItem IsSelected="True" Header="TabItem2">
<hc:SimplePanel Background="#FFE8563F"/>
<hc:SimplePanel Tag="123" Background="#FFE8563F"/>
</hc:TabItem>
<hc:TabItem Header="TabItem3">
<hc:SimplePanel Background="#FF3F4EE8"/>
@@ -93,6 +68,18 @@
<hc:SimplePanel Background="#FFE8E03F"/>
</hc:TabItem>
</hc:TabControl>
<hc:TabControl IsEnableAnimation="True" ShowCloseButton="True" IsDraggable="True" ItemsSource="{Binding DataList}" Width="800" Height="300">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<hc:SimplePanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{Binding BackgroundToken,Converter={StaticResource String2BrushConverter}}"/>
</DataTemplate>
</TabControl.ContentTemplate>
</hc:TabControl>
</StackPanel>
</hc:ScrollViewer>
</hc:TransitioningContentControl>
@@ -1,5 +1,4 @@
namespace HandyControlDemo.UserControl
namespace HandyControlDemo.UserControl
{
public partial class TabControlDemoCtl
{
@@ -1,8 +1,9 @@
using System;
using System.Windows;
using GalaSoft.MvvmLight;
using HandyControl.Controls;
using HandyControl.Data;
using HandyControlDemo.Data;
using HandyControlDemo.Service;
#if netle40
using GalaSoft.MvvmLight.Command;
#else
@@ -11,8 +12,10 @@ using GalaSoft.MvvmLight.CommandWpf;
namespace HandyControlDemo.ViewModel
{
public class TabControlDemoViewModel : ViewModelBase
public class TabControlDemoViewModel : DemoViewModelBase<TabControlDemoModel>
{
public TabControlDemoViewModel(DataService dataService) => DataList = dataService.GetTabControlDemoDataList();
public RelayCommand<CancelRoutedEventArgs> ClosingCmd => new Lazy<RelayCommand<CancelRoutedEventArgs>>(() =>
new RelayCommand<CancelRoutedEventArgs>(Closing)).Value;
@@ -14,6 +14,7 @@ namespace HandyControlDemo.ViewModel
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<DataService>();
var dataService = ServiceLocator.Current.GetInstance<DataService>();
SimpleIoc.Default.Register<MainViewModel>();
SimpleIoc.Default.Register(() => new GrowlDemoViewModel(), "GrowlDemo");
@@ -21,9 +22,9 @@ namespace HandyControlDemo.ViewModel
SimpleIoc.Default.Register<ImageBrowserDemoViewModel>();
SimpleIoc.Default.Register<ComboBoxDemoViewModel>();
SimpleIoc.Default.Register<WindowDemoViewModel>();
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(ServiceLocator.Current.GetInstance<DataService>().GetContributorDataList), "Contributors");
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(ServiceLocator.Current.GetInstance<DataService>().GetBlogDataList), "Blogs");
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(ServiceLocator.Current.GetInstance<DataService>().GetProjectDataList), "Projects");
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetContributorDataList), "Contributors");
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetBlogDataList), "Blogs");
SimpleIoc.Default.Register(() => new ItemsDisplayViewModel(dataService.GetProjectDataList), "Projects");
SimpleIoc.Default.Register<StepBarDemoViewModel>();
SimpleIoc.Default.Register<PaginationDemoViewModel>();
SimpleIoc.Default.Register<ChatBoxViewModel>();
@@ -85,7 +86,7 @@ namespace HandyControlDemo.ViewModel
public SideMenuDemoViewModel SideMenuDemo => ServiceLocator.Current.GetInstance<SideMenuDemoViewModel>();
public TabControlDemoViewModel TabControlDemo => ServiceLocator.Current.GetInstance<TabControlDemoViewModel>();
public TabControlDemoViewModel TabControlDemo => new TabControlDemoViewModel(ServiceLocator.Current.GetInstance<DataService>());
public NoUserViewModel NoUser => ServiceLocator.Current.GetInstance<NoUserViewModel>();