Skip to content

Commit 7e791d3

Browse files
committed
- Refactor AsyncRelayCommand
- Add UWP support - Update documentation
1 parent 17b9d80 commit 7e791d3

File tree

864 files changed

+9769
-5857
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

864 files changed

+9769
-5857
lines changed

BionicCode.Net/BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test/App.xaml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,23 @@
44
xmlns:local="clr-namespace:BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test"
55
StartupUri="MainWindow.xaml">
66
<Application.Resources>
7-
8-
</Application.Resources>
7+
8+
</Application.Resources>
9+
<JumpList.JumpList>
10+
<JumpList ShowRecentCategory="True"
11+
ShowFrequentCategory="True">
12+
<JumpTask Title="Notepad"
13+
Description="Open Notepad."
14+
ApplicationPath="C:\Windows\notepad.exe"
15+
IconResourcePath="C:\Windows\notepad.exe"/>
16+
<JumpTask Title="Read Me"
17+
Description="Open readme.txt in Notepad."
18+
ApplicationPath="C:\Windows\notepad.exe"
19+
IconResourcePath="C:\Windows\System32\imageres.dll"
20+
IconResourceIndex="14"
21+
WorkingDirectory="C:\Users\Public\Documents"
22+
Arguments="readme.txt"/>
23+
<JumpPath Path="C:\Users\Public\Documents\readme.txt" />
24+
</JumpList>
25+
</JumpList.JumpList>
926
</Application>

BionicCode.Net/BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test/App.xaml.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using System.Threading.Tasks;
77
using System.Windows;
8+
using System.Windows.Shell;
89

910
namespace BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test
1011
{
@@ -13,5 +14,8 @@ namespace BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test
1314
/// </summary>
1415
public partial class App : Application
1516
{
17+
public App()
18+
{
19+
}
1620
}
1721
}

BionicCode.Net/BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test/CartesianChartViewModel.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,32 @@
44
using System.Linq;
55
using System.Text;
66
using System.Threading.Tasks;
7+
using System.Windows.Input;
78
using BionicCode.Controls.Net.Framework.Wpf.BionicCharts;
9+
using BionicCode.Utilities.Net.Framework.Wpf;
10+
using BionicCode.Utilities.Net.Framework.Wpf.Generic;
811
using BionicCode.Utilities.Net.Standard.ViewModel;
912

1013
namespace BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test
1114
{
15+
class MyClass :ICommand
16+
{
17+
#region Implementation of ICommand
18+
19+
/// <inheritdoc />
20+
public bool CanExecute(object parameter) => throw new NotImplementedException();
21+
22+
/// <inheritdoc />
23+
public void Execute(object parameter)
24+
{
25+
throw new NotImplementedException();
26+
}
27+
28+
/// <inheritdoc />
29+
public event EventHandler CanExecuteChanged;
30+
31+
#endregion
32+
}
1233
class CartesianChartViewModel : ViewModel
1334
{
1435
private ObservableCollection<ICartesianChartPoint> chartPoints;
@@ -18,6 +39,23 @@ public ObservableCollection<ICartesianChartPoint> ChartPoints
1839
set => TrySetValue(value, ref this.chartPoints);
1940
}
2041

42+
public IAsyncRelayCommand AsyncRelayTestCommand => new AsyncRelayCommand<string>(ExecuteCommandTest);
43+
public IAsyncRelayCommand<string> SynchronousRelayTestCommand => new AsyncRelayCommand<string>(ExecuteCommandTestSynchronously);
44+
45+
private void ExecuteCommandTestSynchronously(string obj)
46+
{
47+
;
48+
//throw new InvalidCastException("SynchronousRelayTestCommandHandler");
49+
}
50+
51+
52+
private async Task ExecuteCommandTest(string arg)
53+
{
54+
await this.SynchronousRelayTestCommand.ExecuteAsync();
55+
await this.SynchronousRelayTestCommand.ExecuteAsync("123");
56+
throw new InvalidCastException("AsyncRelayTestCommandHandler");
57+
}
58+
2159
public CartesianChartViewModel()
2260
{
2361
this.ChartPoints = new ObservableCollection<ICartesianChartPoint>();

BionicCode.Net/BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test/MainWindow.xaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
66
xmlns:local="clr-namespace:BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test"
77
xmlns:bionicCharts="clr-namespace:BionicCode.Controls.Net.Framework.Wpf.BionicCharts;assembly=BionicCode.Controls.Net.Framework.Wpf"
8+
xmlns:bionicCalendar="clr-namespace:BionicCode.Controls.Net.Framework.Wpf.BionicCalendar;assembly=BionicCode.Controls.Net.Framework.Wpf"
89
xmlns:bionicFramework="clr-namespace:BionicCode.Utilities.Net.Framework.Wpf.Markup;assembly=BionicCode.Utilities.Net.Framework.Wpf"
910
xmlns:attachedBehaviors="clr-namespace:BionicCode.Utilities.Net.Framework.Wpf.AttachedBehaviors;assembly=BionicCode.Utilities.Net.Framework.Wpf"
1011
mc:Ignorable="d"
@@ -13,7 +14,12 @@
1314
<local:CartesianChartViewModel />
1415
</Window.DataContext>
1516
<StackPanel>
16-
<TextBlock attachedBehaviors:TextControl.HighlightBackground="Chocolate" attachedBehaviors:TextControl.HighlightForeground="Cornsilk" attachedBehaviors:TextControl.IsHighlightingEnabled="True" attachedBehaviors:TextControl.Text="0123456789" >
17+
<Button Content="Test Command" Command="{Binding AsyncRelayTestCommand}"/>
18+
<!--<bionicCalendar:Calendar Height="1000" Width="1000" />-->
19+
20+
21+
<!--<ListBox x:Name="ListBox" Height="800" ItemsSource="{Binding ChartPoints}" VirtualizingPanel.CacheLength="10" VirtualizingPanel.VirtualizationMode="Recycling" />-->
22+
<!--<TextBlock attachedBehaviors:TextControl.HighlightBackground="Chocolate" attachedBehaviors:TextControl.HighlightForeground="Cornsilk" attachedBehaviors:TextControl.IsHighlightingEnabled="True" attachedBehaviors:TextControl.Text="0123456789" >
1723
<attachedBehaviors:TextControl.HighlightRanges>
1824
<attachedBehaviors:HighlightRange StartIndex="2" EndIndex="8"/>
1925
</attachedBehaviors:TextControl.HighlightRanges>
@@ -27,7 +33,7 @@
2733
<TextBlock Text="{bionicFramework:Invert Value=0.12}"/>
2834
<TextBlock Text="{bionicFramework:Invert False}"/>
2935
<TextBox Text="{bionicFramework:Invert {Binding RelativeSource={RelativeSource AncestorType=Window}, Path=Text}, Mode=TwoWay}"/>
30-
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=Text}"/>
36+
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=Text}"/>-->
3137
<!--<Button Click="ButtonBase_OnClick" Height="100" Content="Offset"/>
3238
<ListBox ItemsSource="{Binding ChartPoints}">
3339
<ListBox.Resources>
@@ -56,7 +62,7 @@
5662
</Style>
5763
</ListBox.ItemContainerStyle>--><!--
5864
</ListBox>-->
59-
<bionicCharts:CartesianChart Height="700" Width="700" VirtualizingPanel.CacheLengthUnit="Page" VirtualizingPanel.CacheLength="1,2" bionicCharts:VirtualizingCartesianCanvas.XZoomFactor="3" bionicCharts:VirtualizingCartesianCanvas.YZoomFactor="1"
65+
<bionicCharts:CartesianChart x:Name="CartesianChart" Height="700" Width="700" VirtualizingPanel.CacheLengthUnit="Page" VirtualizingPanel.CacheLength="5,5" bionicCharts:VirtualizingCartesianCanvas.XZoomFactor="3" bionicCharts:VirtualizingCartesianCanvas.YZoomFactor="1"
6066
ItemsSource="{Binding ChartPoints}" Background="CadetBlue">
6167
<!--<bionicCharts:CartesianChart.Items>
6268
<bionicCharts:CartesianChartItem X="100" Y="20"><Ellipse Height="10" Width="10" StrokeThickness="2" Stroke="Black"/></bionicCharts:CartesianChartItem>

BionicCode.Net/BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test/MainWindow.xaml.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
using System.Threading.Tasks;
77
using System.Windows;
88
using System.Windows.Controls;
9+
using System.Windows.Controls.Primitives;
910
using System.Windows.Data;
1011
using System.Windows.Documents;
1112
using System.Windows.Input;
1213
using System.Windows.Media;
1314
using System.Windows.Media.Imaging;
1415
using System.Windows.Navigation;
1516
using System.Windows.Shapes;
17+
using BionicCode.Utilities.Net.Framework.Wpf.Extensions;
1618

1719
namespace BionicCode.Net.Framework.Wpf.BionicCharts.Ui.Test
1820
{
@@ -37,6 +39,23 @@ public MainWindow()
3739
{
3840
InitializeComponent();
3941
this.Text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
42+
//this.CartesianChart.ItemContainerGenerator.StatusChanged += GeneratorStatusChanged;
43+
this.Loaded += OnLoaded;
44+
}
45+
46+
private void OnLoaded(object sender, RoutedEventArgs e)
47+
{
48+
//var cl = VirtualizingPanel.GetCacheLength(this.CartesianChart);
49+
//var clu = VirtualizingPanel.GetCacheLengthUnit(this.CartesianChart);
50+
//if (this.CartesianChart.TryFindVisualChildElement(out VirtualizingStackPanel panel))
51+
//{
52+
// ;
53+
//}
54+
}
55+
56+
private void GeneratorStatusChanged(object sender, EventArgs e)
57+
{
58+
GeneratorStatus status = (sender as ItemContainerGenerator).Status;
4059
}
4160

4261
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)

BionicCode.Net/BionicCode.Net.sln

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BionicCode.Net.Framework.Wp
3939
EndProject
4040
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BionicCode.Utilities.Net.Framework", "BionicCode.Utilities.Net.Framework\BionicCode.Utilities.Net.Framework.csproj", "{4C616501-0A08-48E4-864D-1FB631F4AE23}"
4141
EndProject
42+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BionicCode.Utilities.Net.Uwp", "BionicCode.Utilities.Net.Uwp\BionicCode.Utilities.Net.Uwp.csproj", "{FB7EDF2E-1724-4507-A168-F053C2DF5143}"
43+
EndProject
4244
Global
4345
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4446
Debug|Any CPU = Debug|Any CPU
@@ -358,6 +360,26 @@ Global
358360
{4C616501-0A08-48E4-864D-1FB631F4AE23}.Release|x64.Build.0 = Release|Any CPU
359361
{4C616501-0A08-48E4-864D-1FB631F4AE23}.Release|x86.ActiveCfg = Release|Any CPU
360362
{4C616501-0A08-48E4-864D-1FB631F4AE23}.Release|x86.Build.0 = Release|Any CPU
363+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
364+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|Any CPU.Build.0 = Debug|Any CPU
365+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|ARM.ActiveCfg = Debug|ARM
366+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|ARM.Build.0 = Debug|ARM
367+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|ARM64.ActiveCfg = Debug|ARM64
368+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|ARM64.Build.0 = Debug|ARM64
369+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|x64.ActiveCfg = Debug|x64
370+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|x64.Build.0 = Debug|x64
371+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|x86.ActiveCfg = Debug|x86
372+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Debug|x86.Build.0 = Debug|x86
373+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|Any CPU.ActiveCfg = Release|Any CPU
374+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|Any CPU.Build.0 = Release|Any CPU
375+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|ARM.ActiveCfg = Release|ARM
376+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|ARM.Build.0 = Release|ARM
377+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|ARM64.ActiveCfg = Release|ARM64
378+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|ARM64.Build.0 = Release|ARM64
379+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|x64.ActiveCfg = Release|x64
380+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|x64.Build.0 = Release|x64
381+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|x86.ActiveCfg = Release|x86
382+
{FB7EDF2E-1724-4507-A168-F053C2DF5143}.Release|x86.Build.0 = Release|x86
361383
EndGlobalSection
362384
GlobalSection(SolutionProperties) = preSolution
363385
HideSolutionNode = FALSE
@@ -377,6 +399,7 @@ Global
377399
{F65439EA-EBCF-4EBE-9181-3307F4289F24} = {DAEE9A79-D61E-40A7-AE37-D71DF21228AB}
378400
{83FDAC1F-7BCD-4A38-9B13-B778024C50B2} = {DAEE9A79-D61E-40A7-AE37-D71DF21228AB}
379401
{4C616501-0A08-48E4-864D-1FB631F4AE23} = {E7C11EA6-30D0-47FA-AA0F-7F4DFC2B9207}
402+
{FB7EDF2E-1724-4507-A168-F053C2DF5143} = {E7C11EA6-30D0-47FA-AA0F-7F4DFC2B9207}
380403
EndGlobalSection
381404
GlobalSection(ExtensibilityGlobals) = postSolution
382405
SolutionGuid = {2183E746-A547-4EFD-AB4B-B517EBB9F54C}

0 commit comments

Comments
 (0)