Skip to content

Commit cfb115c

Browse files
Add the Tizen backend (AndreiMisiukevich#353)
* Add the Tizen backend * Update PanCardView.Tizen/CardsViewRenderer.cs * Update PanCardViewSample/PanCardViewSample/Views/CardsSampleView.cs * Update PanCardViewSample/Tizen/Main.cs * Update PanCardViewSample/PanCardViewSample/Views/CardsSampleView.cs * Update PanCardView/CardsView.cs Co-authored-by: Andrei <andrei.misiukevich@gmail.com>
1 parent b06b551 commit cfb115c

File tree

14 files changed

+243
-26
lines changed

14 files changed

+243
-26
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
using PanCardView;
2+
using PanCardView.Enums;
3+
using PanCardView.Tizen;
4+
using Xamarin.Forms;
5+
using Xamarin.Forms.Internals;
6+
using Xamarin.Forms.Platform.Tizen;
7+
using ElmSharp;
8+
using Point = Xamarin.Forms.Point;
9+
using Layout = Xamarin.Forms.Layout;
10+
11+
[assembly: ExportRenderer(typeof(CardsView), typeof(CardsViewRenderer))]
12+
namespace PanCardView.Tizen
13+
{
14+
[Preserve(AllMembers = true)]
15+
public class CardsViewRenderer : LayoutRenderer
16+
{
17+
GestureLayer _gestureLayer;
18+
CardsView CardsViewElement => Element as CardsView;
19+
20+
public static void Preserve() => Preserver.Preserve();
21+
22+
public CardsViewRenderer()
23+
{
24+
RegisterPropertyHandler(CardsView.IsVerticalSwipeEnabledProperty, UpdateIsVerticalSwipeEnabled);
25+
}
26+
27+
protected override void OnElementChanged(ElementChangedEventArgs<Layout> e)
28+
{
29+
base.OnElementChanged(e);
30+
Initialize();
31+
}
32+
33+
protected override void Dispose(bool disposing)
34+
{
35+
if (disposing)
36+
{
37+
_gestureLayer?.Unrealize();
38+
_gestureLayer = null;
39+
}
40+
base.Dispose(disposing);
41+
}
42+
43+
private void Initialize()
44+
{
45+
_gestureLayer?.Unrealize();
46+
_gestureLayer = new GestureLayer(NativeView);
47+
_gestureLayer.Attach(NativeView);
48+
49+
_gestureLayer.SetMomentumCallback(GestureLayer.GestureState.Move, OnMoved);
50+
_gestureLayer.SetMomentumCallback(GestureLayer.GestureState.End, OnEnd);
51+
_gestureLayer.SetMomentumCallback(GestureLayer.GestureState.Abort, OnEnd);
52+
}
53+
54+
private void OnMoved(GestureLayer.MomentumData moment)
55+
{
56+
}
57+
58+
private void OnEnd(GestureLayer.MomentumData moment)
59+
{
60+
var direction = SwipeDirectionHelper.GetSwipeDirection(new Point(moment.X1, moment.Y1), new Point(moment.X2, moment.Y2));
61+
62+
var swipeDirection = direction == SwipeDirection.Left
63+
? ItemSwipeDirection.Left
64+
: direction == SwipeDirection.Right
65+
? ItemSwipeDirection.Right
66+
: direction == SwipeDirection.Up
67+
? ItemSwipeDirection.Up
68+
: ItemSwipeDirection.Down;
69+
CardsViewElement?.OnSwiped(swipeDirection);
70+
}
71+
72+
private void UpdateIsVerticalSwipeEnabled()
73+
{
74+
Initialize();
75+
}
76+
}
77+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>tizen40</TargetFramework>
5+
<TargetFrameworkIdentifier>Tizen</TargetFrameworkIdentifier>
6+
<RootNamespace>PanCardView.Tizen</RootNamespace>
7+
<AssemblyTitle>PanCardView.Tizen</AssemblyTitle>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="Xamarin.Forms" Version="4.6.0.847" />
12+
</ItemGroup>
13+
14+
<ItemGroup>
15+
<ProjectReference Include="..\PanCardView\PanCardView.csproj" />
16+
</ItemGroup>
17+
18+
</Project>

PanCardView.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565

6666
<!--Tizen-->
6767
<file src="PanCardView\bin\Release\netstandard2.0\PanCardView.dll" target="lib\tizen40\PanCardView.dll" />
68+
<file src="PanCardView.Tizen\bin\Release\tizen40\PanCardView.Tizen.dll" target="lib\tizen40\PanCardView.Tizen.dll" />
6869

6970
<!--GTK-->
7071
<file src="PanCardView\bin\Release\netstandard2.0\PanCardView.dll" target="lib\net46\PanCardView.dll" />
@@ -75,4 +76,4 @@
7576
<!--Net 4.5-->
7677
<file src="PanCardView\bin\Release\netstandard2.0\PanCardView.dll" target="lib\net45\PanCardView.dll" />
7778
</files>
78-
</package>
79+
</package>

PanCardView/CardsView.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ private void SetPanGesture(bool isForceRemoving = false)
981981
GestureRecognizers.Add(_panGesture);
982982
}
983983

984-
if (Device.RuntimePlatform == Device.GTK || Device.RuntimePlatform == Device.Tizen)
984+
if (Device.RuntimePlatform == Device.GTK)
985985
{
986986
var lastTapTime = DateTime.MinValue;
987987
const int delay = 200;
@@ -1817,7 +1817,7 @@ private void ExecutePreventInvalidOperationException(Action action)
18171817
{
18181818
action?.Invoke();
18191819
}
1820-
catch (InvalidOperationException)
1820+
catch (Exception)
18211821
{
18221822
Device.BeginInvokeOnMainThread(() =>
18231823
{

PanCardViewSample/PanCardViewSample.sln

Lines changed: 58 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
Microsoft Visual Studio Solution File, Format Version 12.00
2-
# Visual Studio 15
3-
VisualStudioVersion = 15.0.27130.2027
2+
# Visual Studio Version 16
3+
VisualStudioVersion = 16.0.30114.105
44
MinimumVisualStudioVersion = 10.0.40219.1
5-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardViewSample", "PanCardViewSample\PanCardViewSample.csproj", "{38EB6700-89D2-4DB8-978E-20AFEF8766A9}"
5+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PanCardViewSample", "PanCardViewSample\PanCardViewSample.csproj", "{38EB6700-89D2-4DB8-978E-20AFEF8766A9}"
66
EndProject
77
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardViewSample.iOS", "iOS\PanCardViewSample.iOS.csproj", "{FF9DDA8B-0FDD-48BC-8B8D-E1A2CE4F1F60}"
88
EndProject
99
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardViewSample.Droid", "Droid\PanCardViewSample.Droid.csproj", "{085CD104-EC22-43A7-A79F-78FC9FE58DEF}"
1010
EndProject
11-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardView", "..\PanCardView\PanCardView.csproj", "{662BF768-43C5-4A71-8F1E-7FA54DD6157A}"
11+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PanCardView", "..\PanCardView\PanCardView.csproj", "{662BF768-43C5-4A71-8F1E-7FA54DD6157A}"
1212
EndProject
1313
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardView.Droid", "..\PanCardView.Droid\PanCardView.Droid.csproj", "{47A15982-1485-4E70-8440-84EFBA28C584}"
1414
EndProject
@@ -20,6 +20,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardViewSample.MacOS", "
2020
EndProject
2121
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PanCardViewSample.Gtk", "Gtk\PanCardViewSample.Gtk.csproj", "{88EA9AEA-D833-47D2-9B27-38991F20F5EE}"
2222
EndProject
23+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PanCardViewSample.Tizen", "Tizen\PanCardViewSample.Tizen.csproj", "{2180A0B2-D5D9-442C-B968-7E03F0AB3853}"
24+
EndProject
25+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PanCardView.Tizen", "..\PanCardView.Tizen\PanCardView.Tizen.csproj", "{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}"
26+
EndProject
2327
Global
2428
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2529
Debug|Any CPU = Debug|Any CPU
@@ -254,6 +258,54 @@ Global
254258
{88EA9AEA-D833-47D2-9B27-38991F20F5EE}.Release|x64.Build.0 = Release|Any CPU
255259
{88EA9AEA-D833-47D2-9B27-38991F20F5EE}.Release|x86.ActiveCfg = Release|Any CPU
256260
{88EA9AEA-D833-47D2-9B27-38991F20F5EE}.Release|x86.Build.0 = Release|Any CPU
261+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
262+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|Any CPU.Build.0 = Debug|Any CPU
263+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|ARM.ActiveCfg = Debug|Any CPU
264+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|ARM.Build.0 = Debug|Any CPU
265+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|iPhone.ActiveCfg = Debug|Any CPU
266+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|iPhone.Build.0 = Debug|Any CPU
267+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
268+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
269+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|x64.ActiveCfg = Debug|Any CPU
270+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|x64.Build.0 = Debug|Any CPU
271+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|x86.ActiveCfg = Debug|Any CPU
272+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Debug|x86.Build.0 = Debug|Any CPU
273+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|Any CPU.ActiveCfg = Release|Any CPU
274+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|Any CPU.Build.0 = Release|Any CPU
275+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|ARM.ActiveCfg = Release|Any CPU
276+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|ARM.Build.0 = Release|Any CPU
277+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|iPhone.ActiveCfg = Release|Any CPU
278+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|iPhone.Build.0 = Release|Any CPU
279+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
280+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
281+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|x64.ActiveCfg = Release|Any CPU
282+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|x64.Build.0 = Release|Any CPU
283+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|x86.ActiveCfg = Release|Any CPU
284+
{2180A0B2-D5D9-442C-B968-7E03F0AB3853}.Release|x86.Build.0 = Release|Any CPU
285+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
286+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|Any CPU.Build.0 = Debug|Any CPU
287+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|ARM.ActiveCfg = Debug|Any CPU
288+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|ARM.Build.0 = Debug|Any CPU
289+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|iPhone.ActiveCfg = Debug|Any CPU
290+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|iPhone.Build.0 = Debug|Any CPU
291+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
292+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
293+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|x64.ActiveCfg = Debug|Any CPU
294+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|x64.Build.0 = Debug|Any CPU
295+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|x86.ActiveCfg = Debug|Any CPU
296+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Debug|x86.Build.0 = Debug|Any CPU
297+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|Any CPU.ActiveCfg = Release|Any CPU
298+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|Any CPU.Build.0 = Release|Any CPU
299+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|ARM.ActiveCfg = Release|Any CPU
300+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|ARM.Build.0 = Release|Any CPU
301+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|iPhone.ActiveCfg = Release|Any CPU
302+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|iPhone.Build.0 = Release|Any CPU
303+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
304+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
305+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|x64.ActiveCfg = Release|Any CPU
306+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|x64.Build.0 = Release|Any CPU
307+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|x86.ActiveCfg = Release|Any CPU
308+
{4DE477BB-C621-4DE4-AD6E-DF73DB28FA62}.Release|x86.Build.0 = Release|Any CPU
257309
EndGlobalSection
258310
GlobalSection(SolutionProperties) = preSolution
259311
HideSolutionNode = FALSE
@@ -265,57 +317,44 @@ Global
265317
Policies = $0
266318
$0.DotNetNamingPolicy = $1
267319
$1.DirectoryNamespaceAssociation = PrefixedHierarchical
268-
$0.TextStylePolicy = $2
320+
$0.TextStylePolicy = $17
269321
$2.scope = text/x-csharp
270322
$2.FileWidth = 80
271323
$2.TabsToSpaces = True
272324
$0.CSharpFormattingPolicy = $3
273325
$3.scope = text/x-csharp
274-
$0.TextStylePolicy = $4
275326
$4.FileWidth = 80
276327
$4.TabsToSpaces = True
277328
$4.scope = text/plain
278-
$0.TextStylePolicy = $5
279329
$5.inheritsSet = null
280330
$5.scope = application/config+xml
281-
$0.XmlFormattingPolicy = $6
331+
$0.XmlFormattingPolicy = $18
282332
$6.inheritsSet = null
283333
$6.scope = application/config+xml
284-
$0.TextStylePolicy = $7
285334
$7.inheritsSet = null
286335
$7.scope = application/xml
287-
$0.XmlFormattingPolicy = $8
288336
$8.scope = application/xml
289-
$0.TextStylePolicy = $9
290337
$9.inheritsSet = null
291338
$9.scope = application/xaml+xml
292-
$0.XmlFormattingPolicy = $10
293339
$10.inheritsSet = null
294340
$10.scope = application/xaml+xml
295-
$0.TextStylePolicy = $11
296341
$11.inheritsSet = null
297342
$11.scope = text/x-json
298343
$0.JSONFormattingPolicy = $12
299344
$12.AutoStructureCompletion = True
300345
$12.BracePositions = SemiExpanded
301346
$12.FormatOnPaste = True
302347
$12.scope = text/x-json
303-
$0.TextStylePolicy = $13
304348
$13.inheritsSet = null
305349
$13.scope = text/x-web
306-
$0.TextStylePolicy = $14
307350
$14.inheritsSet = null
308351
$14.scope = text/x-vs
309-
$0.TextStylePolicy = $15
310352
$15.inheritsSet = null
311353
$15.scope = application/vnd.apple-xcode-storyboard
312-
$0.XmlFormattingPolicy = $16
313354
$16.inheritsSet = null
314355
$16.scope = application/vnd.apple-xcode-storyboard
315-
$0.TextStylePolicy = $17
316356
$17.inheritsSet = null
317357
$17.scope = application/android+xml
318-
$0.XmlFormattingPolicy = $18
319358
$18.inheritsSet = null
320359
$18.scope = application/android+xml
321360
$0.StandardHeader = $19

PanCardViewSample/PanCardViewSample/PanCardViewSample.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ public class StartPage : ContentPage
2020
{
2121
public StartPage()
2222
{
23+
Title = "PanCardViewSample";
24+
BackgroundColor = Color.White;
25+
2326
var toCardsBtn = new Button { Text = "CardsView Items", FontSize = 20, TextColor = Color.Black };
2427
toCardsBtn.Clicked += (sender, e) =>
2528
{
@@ -78,6 +81,7 @@ public StartPage()
7881
{
7982
Content = new StackLayout
8083
{
84+
Margin = 20,
8185
Children = {
8286
toCardsBtn,
8387
toCarouselXamlBtn,

PanCardViewSample/PanCardViewSample/ViewModels/CarouselSampleListViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class ListItemModel
4242
private ICommand _command;
4343
public ICommand Command => _command ?? (_command = new Command(() =>
4444
{
45-
Application.Current.MainPage.DisplayAlert("Tap", null, "Ok");
45+
Application.Current.MainPage.DisplayAlert("Tap", "", "Ok");
4646
}));
4747
}
4848
}

PanCardViewSample/PanCardViewSample/Views/CardsSampleView.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ public CardsSampleView()
2020
var prevItem = new ToolbarItem
2121
{
2222
Text = "**Prev**",
23-
IconImageSource = "prev",
23+
IconImageSource = "prev.png",
2424
CommandParameter = false
2525
};
2626
prevItem.SetBinding(MenuItem.CommandProperty, nameof(CardsSampleViewModel.PanPositionChangedCommand));
2727

2828
var nextItem = new ToolbarItem
2929
{
3030
Text = "**Next**",
31-
IconImageSource = "next",
31+
IconImageSource = "next.png",
3232
CommandParameter = true
3333
};
3434
nextItem.SetBinding(MenuItem.CommandProperty, nameof(CardsSampleViewModel.PanPositionChangedCommand));
@@ -70,4 +70,4 @@ public CardsSampleView()
7070
BindingContext = new CardsSampleViewModel();
7171
}
7272
}
73-
}
73+
}

PanCardViewSample/Tizen/Main.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using Xamarin.Forms;
2+
using Xamarin.Forms.Platform.Tizen;
3+
using FFImageLoading.Forms.Platform;
4+
using PanCardView.Tizen;
5+
6+
namespace PanCardViewSample.Tizen
7+
{
8+
class Program : FormsApplication
9+
{
10+
protected override void OnCreate()
11+
{
12+
base.OnCreate();
13+
LoadApplication(new App());
14+
}
15+
16+
static void Main(string[] args)
17+
{
18+
var app = new Program();
19+
Forms.Init(app, true);
20+
CachedImageRenderer.Init(app);
21+
CardsViewRenderer.Preserve();
22+
app.Run(args);
23+
}
24+
}
25+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<Project Sdk="Tizen.NET.Sdk/1.0.9">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>tizen40</TargetFramework>
6+
</PropertyGroup>
7+
8+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
9+
<DebugType>portable</DebugType>
10+
</PropertyGroup>
11+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
12+
<DebugType>None</DebugType>
13+
</PropertyGroup>
14+
15+
<ItemGroup>
16+
<Folder Include="lib\" />
17+
</ItemGroup>
18+
19+
<ItemGroup>
20+
<None Include="..\..\images\Resources\pan0.png" Link="res\pan0.png" />
21+
<None Include="..\..\images\Resources\pan1.png" Link="res\pan1.png" />
22+
<None Include="..\..\images\Resources\pan2.png" Link="res\pan2.png" />
23+
</ItemGroup>
24+
25+
<ItemGroup>
26+
<PackageReference Include="Xamarin.FFImageLoading" Version="2.4.11.982" />
27+
<PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.4.11.982" />
28+
</ItemGroup>
29+
30+
<ItemGroup>
31+
<ProjectReference Include="..\..\PanCardView.Tizen\PanCardView.Tizen.csproj" />
32+
<ProjectReference Include="..\PanCardViewSample\PanCardViewSample.csproj" />
33+
</ItemGroup>
34+
35+
36+
37+
</Project>

0 commit comments

Comments
 (0)