├── .gitattributes ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CardView ├── CardView.cs ├── CardView.csproj ├── CardView.nuspec ├── Properties │ └── AssemblyInfo.cs └── packages.config ├── CardViewExamples ├── CardViewExample │ ├── CardViewExample.Android │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ ├── CardViewExample.Android.csproj │ │ ├── MainActivity.cs │ │ ├── Properties │ │ │ ├── AndroidManifest.xml │ │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ │ ├── AboutResources.txt │ │ │ ├── Resource.Designer.cs │ │ │ ├── drawable-hdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── layout │ │ │ │ ├── Tabbar.axml │ │ │ │ └── Toolbar.axml │ │ │ └── values │ │ │ │ └── styles.xml │ │ └── packages.config │ ├── CardViewExample.UWP │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Assets │ │ │ ├── LockScreenLogo.scale-100.png │ │ │ ├── LockScreenLogo.scale-125.png │ │ │ ├── LockScreenLogo.scale-150.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── LockScreenLogo.scale-400.png │ │ │ ├── SplashScreen.scale-100.png │ │ │ ├── SplashScreen.scale-125.png │ │ │ ├── SplashScreen.scale-150.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── SplashScreen.scale-400.png │ │ │ ├── Square150x150Logo.scale-100.png │ │ │ ├── Square150x150Logo.scale-125.png │ │ │ ├── Square150x150Logo.scale-150.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-400.png │ │ │ ├── Square44x44Logo.scale-100.png │ │ │ ├── Square44x44Logo.scale-125.png │ │ │ ├── Square44x44Logo.scale-150.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Square44x44Logo.scale-400.png │ │ │ ├── Square44x44Logo.targetsize-16_altform-unplated.png │ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ │ │ ├── Square44x44Logo.targetsize-256_altform-unplated.png │ │ │ ├── Square44x44Logo.targetsize-32_altform-unplated.png │ │ │ ├── Square44x44Logo.targetsize-48_altform-unplated.png │ │ │ ├── StoreLogo.png │ │ │ ├── Wide310x150Logo.scale-100.png │ │ │ ├── Wide310x150Logo.scale-125.png │ │ │ ├── Wide310x150Logo.scale-150.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ └── Wide310x150Logo.scale-400.png │ │ ├── CardViewExample.UWP.csproj │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── Package.appxmanifest │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ └── project.json │ ├── CardViewExample.iOS │ │ ├── AppDelegate.cs │ │ ├── CardViewExample.iOS.csproj │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ ├── Main.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ ├── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ ├── Default.png │ │ │ ├── Default@2x.png │ │ │ ├── Icon-60@2x.png │ │ │ ├── Icon-60@3x.png │ │ │ ├── Icon-76.png │ │ │ ├── Icon-76@2x.png │ │ │ ├── Icon-Small-40.png │ │ │ ├── Icon-Small-40@2x.png │ │ │ ├── Icon-Small-40@3x.png │ │ │ ├── Icon-Small.png │ │ │ ├── Icon-Small@2x.png │ │ │ ├── Icon-Small@3x.png │ │ │ └── LaunchScreen.storyboard │ │ ├── iTunesArtwork │ │ ├── iTunesArtwork@2x │ │ └── packages.config │ └── CardViewExample │ │ ├── AllCombinedPage.xaml │ │ ├── AllCombinedPage.xaml.cs │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── CardViewContentPage.xaml │ │ ├── CardViewContentPage.xaml.cs │ │ ├── CardViewExample.csproj │ │ ├── CardViewHasShadowPage.xaml │ │ ├── CardViewHasShadowPage.xaml.cs │ │ ├── CardViewHeightRequestPage.xaml │ │ ├── CardViewHeightRequestPage.xaml.cs │ │ ├── CardViewOutlineColorPage.xaml │ │ ├── CardViewOutlineColorPage.xaml.cs │ │ ├── InnerFrameOutlineColorPage.xaml │ │ ├── InnerFrameOutlineColorPage.xaml.cs │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── SwipeToClearEnabledPage.xaml │ │ ├── SwipeToClearEnabledPage.xaml.cs │ │ └── packages.config └── CardViewExamples.sln ├── CardViewImagesFromExample ├── CardViewContent.PNG ├── CardViewHasShadow.PNG ├── CardViewHeightRequest.PNG ├── CardViewInnerFrameOutlineColor.PNG └── CardViewOutlineColor.PNG ├── CardViewNetStandard ├── CardView.cs ├── CardViewNetStandard.csproj └── CardViewNetStandard.nuspec ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md └── XamarinFormsCardView.sln /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | x64/ 19 | x86/ 20 | bld/ 21 | [Bb]in/ 22 | [Oo]bj/ 23 | [Ll]og/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | artifacts/ 46 | 47 | *_i.c 48 | *_p.c 49 | *_i.h 50 | *.ilk 51 | *.meta 52 | *.obj 53 | *.pch 54 | *.pdb 55 | *.pgc 56 | *.pgd 57 | *.rsp 58 | *.sbr 59 | *.tlb 60 | *.tli 61 | *.tlh 62 | *.tmp 63 | *.tmp_proj 64 | *.log 65 | *.vspscc 66 | *.vssscc 67 | .builds 68 | *.pidb 69 | *.svclog 70 | *.scc 71 | 72 | # Chutzpah Test files 73 | _Chutzpah* 74 | 75 | # Visual C++ cache files 76 | ipch/ 77 | *.aps 78 | *.ncb 79 | *.opendb 80 | *.opensdf 81 | *.sdf 82 | *.cachefile 83 | *.VC.db 84 | *.VC.VC.opendb 85 | 86 | # Visual Studio profiler 87 | *.psess 88 | *.vsp 89 | *.vspx 90 | *.sap 91 | 92 | # TFS 2012 Local Workspace 93 | $tf/ 94 | 95 | # Guidance Automation Toolkit 96 | *.gpState 97 | 98 | # ReSharper is a .NET coding add-in 99 | _ReSharper*/ 100 | *.[Rr]e[Ss]harper 101 | *.DotSettings.user 102 | 103 | # JustCode is a .NET coding add-in 104 | .JustCode 105 | 106 | # TeamCity is a build add-in 107 | _TeamCity* 108 | 109 | # DotCover is a Code Coverage Tool 110 | *.dotCover 111 | 112 | # NCrunch 113 | _NCrunch_* 114 | .*crunch*.local.xml 115 | nCrunchTemp_* 116 | 117 | # MightyMoose 118 | *.mm.* 119 | AutoTest.Net/ 120 | 121 | # Web workbench (sass) 122 | .sass-cache/ 123 | 124 | # Installshield output folder 125 | [Ee]xpress/ 126 | 127 | # DocProject is a documentation generator add-in 128 | DocProject/buildhelp/ 129 | DocProject/Help/*.HxT 130 | DocProject/Help/*.HxC 131 | DocProject/Help/*.hhc 132 | DocProject/Help/*.hhk 133 | DocProject/Help/*.hhp 134 | DocProject/Help/Html2 135 | DocProject/Help/html 136 | 137 | # Click-Once directory 138 | publish/ 139 | 140 | # Publish Web Output 141 | *.[Pp]ublish.xml 142 | *.azurePubxml 143 | # TODO: Comment the next line if you want to checkin your web deploy settings 144 | # but database connection strings (with potential passwords) will be unencrypted 145 | *.pubxml 146 | *.publishproj 147 | 148 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 149 | # checkin your Azure Web App publish settings, but sensitive information contained 150 | # in these scripts will be unencrypted 151 | PublishScripts/ 152 | 153 | # NuGet Packages 154 | *.nupkg 155 | # The packages folder can be ignored because of Package Restore 156 | **/packages/* 157 | # except build/, which is used as an MSBuild target. 158 | !**/packages/build/ 159 | # Uncomment if necessary however generally it will be regenerated when needed 160 | #!**/packages/repositories.config 161 | # NuGet v3's project.json files produces more ignoreable files 162 | *.nuget.props 163 | *.nuget.targets 164 | 165 | # Microsoft Azure Build Output 166 | csx/ 167 | *.build.csdef 168 | 169 | # Microsoft Azure Emulator 170 | ecf/ 171 | rcf/ 172 | 173 | # Windows Store app package directories and files 174 | AppPackages/ 175 | BundleArtifacts/ 176 | Package.StoreAssociation.xml 177 | _pkginfo.txt 178 | 179 | # Visual Studio cache files 180 | # files ending in .cache can be ignored 181 | *.[Cc]ache 182 | # but keep track of directories ending in .cache 183 | !*.[Cc]ache/ 184 | 185 | # Others 186 | ClientBin/ 187 | ~$* 188 | *~ 189 | *.dbmdl 190 | *.dbproj.schemaview 191 | *.pfx 192 | *.publishsettings 193 | node_modules/ 194 | orleans.codegen.cs 195 | 196 | # Since there are multiple workflows, uncomment next line to ignore bower_components 197 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 198 | #bower_components/ 199 | 200 | # RIA/Silverlight projects 201 | Generated_Code/ 202 | 203 | # Backup & report files from converting an old project file 204 | # to a newer Visual Studio version. Backup files are not needed, 205 | # because we have git ;-) 206 | _UpgradeReport_Files/ 207 | Backup*/ 208 | UpgradeLog*.XML 209 | UpgradeLog*.htm 210 | 211 | # SQL Server files 212 | *.mdf 213 | *.ldf 214 | 215 | # Business Intelligence projects 216 | *.rdl.data 217 | *.bim.layout 218 | *.bim_*.settings 219 | 220 | # Microsoft Fakes 221 | FakesAssemblies/ 222 | 223 | # GhostDoc plugin setting file 224 | *.GhostDoc.xml 225 | 226 | # Node.js Tools for Visual Studio 227 | .ntvs_analysis.dat 228 | 229 | # Visual Studio 6 build log 230 | *.plg 231 | 232 | # Visual Studio 6 workspace options file 233 | *.opt 234 | 235 | # Visual Studio LightSwitch build output 236 | **/*.HTMLClient/GeneratedArtifacts 237 | **/*.DesktopClient/GeneratedArtifacts 238 | **/*.DesktopClient/ModelManifest.xml 239 | **/*.Server/GeneratedArtifacts 240 | **/*.Server/ModelManifest.xml 241 | _Pvt_Extensions 242 | 243 | # Paket dependency manager 244 | .paket/paket.exe 245 | paket-files/ 246 | 247 | # FAKE - F# Make 248 | .fake/ 249 | 250 | # JetBrains Rider 251 | .idea/ 252 | *.sln.iml 253 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at paulkaram1989@hotmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | **First of all, I would like to thank you in advance for your time contributing to Xamarin.Forms-CardView component.** 2 | 3 | * Do you have a question? 4 | In case you just have a question to ask about the component, I would like you to send me an email to my address: paulkaram1989@hotmail.com. 5 | It's better than opening an issue for a normal question. I promise to answer as fast as possible. 6 | 7 | * Do you have an issue? 8 | If you have encountred an issue while using the component, please make sure to follow the [issue template](https://github.com/tiger4589/Xamarin.Forms-CardView/blob/master/ISSUE_TEMPLATE.md) while opening a new issue. 9 | I will be glad to fix any error I have if you followed the simple rules while creating a new issue. 10 | 11 | * Do you have a pull request? 12 | Feel free to edit/change/add features to this component. 13 | In order to accept your pull request, make sure to follow these simple steps: 14 | * Don't delete any included feature, if you don't need it, don't use it simply. 15 | * Follow the same standards found in the code. 16 | * Make sure to ident your code. (I use 4 spaces [a tab]) 17 | * Explain the changes you made 18 | * Do they fix an issue? 19 | * Is it a new feature? 20 | * Do they enhance an existing feature? 21 | Make sure to include all the explanation needed. 22 | * If it's a bug fixing, I will be more than glad if you explained how did you encounter the bug, and what did you change to fix it. 23 | 24 | >Just follow these simple rules so we get better communications. 25 | -------------------------------------------------------------------------------- /CardView/CardView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | 4 | namespace CardView 5 | { 6 | public class CardView : ContentView 7 | { 8 | private Frame _outerFrame; 9 | private Frame _innerFrame; 10 | private PanGestureRecognizer _panGestureRecognizer = new PanGestureRecognizer(); 11 | 12 | public CardView() 13 | { 14 | CardViewHorizontalOptionsProperty = BindableProperty.Create( 15 | propertyName: "CardViewHorizontalOptions", 16 | returnType: typeof(LayoutOptions), 17 | declaringType: typeof(CardView), 18 | defaultValue: LayoutOptions.Start, 19 | propertyChanged: CardViewHorizontalOptionsChanged); 20 | 21 | CardViewContentProperty = BindableProperty.Create( 22 | propertyName: "CardViewContent", 23 | returnType: typeof(View), 24 | declaringType: typeof(CardView), 25 | propertyChanged: CardViewContentChanged); 26 | 27 | CardViewOutlineColorThicknessProperty = BindableProperty.Create( 28 | propertyName: "CardViewOutlineColorThickness", 29 | returnType: typeof(Thickness), 30 | declaringType: typeof(CardView), 31 | defaultValue: new Thickness(0), 32 | propertyChanged: CardViewOutlineColorThicknessChanged); 33 | 34 | CardViewHeightRequestProperty = BindableProperty.Create( 35 | propertyName: "CardViewHeightRequest", 36 | returnType: typeof(double), 37 | declaringType: typeof(CardView), 38 | defaultValue: -1d, 39 | propertyChanged: CardViewHeightRequestChanged); 40 | 41 | CardViewOutlineColorThicknessProperty = BindableProperty.Create( 42 | propertyName: "CardViewOutlineColorThickness", 43 | returnType: typeof(Thickness), 44 | declaringType: typeof(CardView), 45 | defaultValue: new Thickness(0), 46 | propertyChanged: CardViewOutlineColorThicknessChanged); 47 | 48 | CardViewInnerFrameOutlineColorProperty = BindableProperty.Create( 49 | propertyName: "CardViewInnerFrameOutlineColor", 50 | declaringType: typeof(CardView), 51 | returnType: typeof(Color), 52 | defaultValue: Color.Transparent, 53 | propertyChanged: CardViewInnerFrameOutlineColorChanged); 54 | 55 | CardViewOutlineColorProperty = BindableProperty.Create( 56 | propertyName: "CardViewOutlineColor", 57 | declaringType: typeof(CardView), 58 | returnType: typeof(Color), 59 | defaultValue: Color.Transparent, 60 | propertyChanged: CardViewOutlineColorChanged); 61 | 62 | CardViewInnerFrameOutlineColorThicknessProperty = BindableProperty.Create( 63 | propertyName: "CardViewInnerFrameOutlineColorThickness", 64 | returnType: typeof(Thickness), 65 | declaringType: typeof(CardView), 66 | defaultValue: new Thickness(0), 67 | propertyChanged: CardViewInnerFrameOutlineColorThicknessChanged); 68 | 69 | CardViewHasShadowProperty = BindableProperty.Create( 70 | propertyName: "CardViewHasShadow", 71 | returnType: typeof(bool), 72 | declaringType: typeof(CardView), 73 | defaultValue: false, 74 | propertyChanged: CardViewHasShadowChanged); 75 | IsSwipeToClearEnabledProperty = BindableProperty.Create( 76 | propertyName: "IsSwipeToClearEnabled", 77 | returnType: typeof(bool), 78 | declaringType: typeof(CardView), 79 | defaultValue: false, 80 | propertyChanged: CardViewSwipeToClearPropertyChanged); 81 | 82 | _innerFrame = new Frame 83 | { 84 | Padding = CardViewInnerFrameOutlineColorThickness, 85 | HasShadow = false, 86 | OutlineColor = Color.Transparent, 87 | BackgroundColor = CardViewInnerFrameOutlineColor, 88 | HeightRequest = CardViewHeightRequest, 89 | HorizontalOptions = CardViewHorizontalOptions 90 | }; 91 | 92 | _outerFrame = new Frame 93 | { 94 | Padding = CardViewOutlineColorThickness, 95 | HasShadow = CardViewHasShadow, 96 | OutlineColor = Color.Transparent, 97 | HeightRequest = CardViewHeightRequest, 98 | BackgroundColor = CardViewOutlineColor 99 | }; 100 | 101 | 102 | _outerFrame.Content = _innerFrame; 103 | Content = _outerFrame; 104 | } 105 | 106 | public readonly BindableProperty CardViewHorizontalOptionsProperty; 107 | 108 | public readonly BindableProperty CardViewContentProperty; 109 | 110 | public readonly BindableProperty CardViewHeightRequestProperty; 111 | 112 | public readonly BindableProperty CardViewOutlineColorProperty; 113 | 114 | public readonly BindableProperty CardViewInnerFrameOutlineColorProperty; 115 | 116 | public readonly BindableProperty CardViewOutlineColorThicknessProperty; 117 | 118 | public readonly BindableProperty CardViewInnerFrameOutlineColorThicknessProperty; 119 | 120 | public readonly BindableProperty CardViewHasShadowProperty; 121 | 122 | public readonly BindableProperty IsSwipeToClearEnabledProperty; 123 | 124 | public View CardViewContent 125 | { 126 | get 127 | { 128 | return (View)GetValue(CardViewContentProperty); 129 | } 130 | set 131 | { 132 | SetValue(CardViewContentProperty, value); 133 | } 134 | } 135 | 136 | public LayoutOptions CardViewHorizontalOptions 137 | { 138 | get 139 | { 140 | return (LayoutOptions)GetValue(CardViewHorizontalOptionsProperty); 141 | } 142 | set 143 | { 144 | SetValue(CardViewHorizontalOptionsProperty, value); 145 | } 146 | } 147 | 148 | public double CardViewHeightRequest 149 | { 150 | get 151 | { 152 | return (double)GetValue(CardViewHeightRequestProperty); 153 | } 154 | set 155 | { 156 | SetValue(CardViewHeightRequestProperty, value); 157 | } 158 | } 159 | 160 | public Color CardViewOutlineColor 161 | { 162 | get 163 | { 164 | return (Color)GetValue(CardViewOutlineColorProperty); 165 | } 166 | set 167 | { 168 | SetValue(CardViewOutlineColorProperty, value); 169 | } 170 | } 171 | 172 | public Color CardViewInnerFrameOutlineColor 173 | { 174 | get 175 | { 176 | return (Color)GetValue(CardViewInnerFrameOutlineColorProperty); 177 | } 178 | set 179 | { 180 | SetValue(CardViewInnerFrameOutlineColorProperty, value); 181 | } 182 | } 183 | 184 | public Thickness CardViewOutlineColorThickness 185 | { 186 | get 187 | { 188 | return (Thickness)GetValue(CardViewOutlineColorThicknessProperty); 189 | } 190 | set 191 | { 192 | SetValue(CardViewOutlineColorThicknessProperty, value); 193 | } 194 | } 195 | 196 | public Thickness CardViewInnerFrameOutlineColorThickness 197 | { 198 | get 199 | { 200 | return (Thickness)GetValue(CardViewInnerFrameOutlineColorThicknessProperty); 201 | } 202 | set 203 | { 204 | SetValue(CardViewInnerFrameOutlineColorThicknessProperty, value); 205 | } 206 | } 207 | 208 | public bool CardViewHasShadow 209 | { 210 | get 211 | { 212 | return (bool)GetValue(CardViewHasShadowProperty); 213 | } 214 | set 215 | { 216 | SetValue(CardViewHasShadowProperty, value); 217 | } 218 | } 219 | 220 | public bool IsSwipeToClearEnabled 221 | { 222 | get 223 | { 224 | return (bool) GetValue(IsSwipeToClearEnabledProperty); 225 | } 226 | set 227 | { 228 | SetValue(IsSwipeToClearEnabledProperty, value); 229 | } 230 | } 231 | 232 | private static void CardViewContentChanged(BindableObject bindable, object oldvalue, object newvalue) 233 | { 234 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewContent()); 235 | } 236 | 237 | private static void CardViewHeightRequestChanged(BindableObject bindable, object oldvalue, object newvalue) 238 | { 239 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewHeightRequest()); 240 | } 241 | 242 | private static void CardViewOutlineColorChanged(BindableObject bindable, object oldvalue, object newvalue) 243 | { 244 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColor()); 245 | } 246 | 247 | private static void CardViewInnerFrameOutlineColorChanged(BindableObject bindable, object oldvalue, object newvalue) 248 | { 249 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewInnerFrameOutlineColor()); 250 | } 251 | 252 | private static void CardViewOutlineColorThicknessChanged(BindableObject bindable, object oldvalue, object newvalue) 253 | { 254 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColorThickness()); 255 | } 256 | 257 | private static void CardViewInnerFrameOutlineColorThicknessChanged(BindableObject bindable, object oldvalue, object newvalue) 258 | { 259 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewInnerFrameOutlineColorThickness()); 260 | } 261 | 262 | private static void CardViewHasShadowChanged(BindableObject bindable, object oldvalue, object newvalue) 263 | { 264 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColorHasShadow()); 265 | } 266 | 267 | private static void CardViewSwipeToClearPropertyChanged(BindableObject bindable, object oldvalue, object newvalue) 268 | { 269 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView) bindable).ChangeIsSwipeToClearProperty()); 270 | } 271 | 272 | private static void CardViewHorizontalOptionsChanged(BindableObject bindable, object oldvalue, object newvalue) 273 | { 274 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeHorizontalOptionsProperty()); 275 | } 276 | 277 | private void ChangeCardViewContent() 278 | { 279 | _innerFrame.Content = CardViewContent; 280 | } 281 | 282 | private void ChangeHorizontalOptionsProperty() 283 | { 284 | _innerFrame.HorizontalOptions = CardViewHorizontalOptions; 285 | } 286 | 287 | private void ChangeCardViewHeightRequest() 288 | { 289 | _outerFrame.HeightRequest = CardViewHeightRequest; 290 | _innerFrame.HeightRequest = CardViewHeightRequest; 291 | } 292 | 293 | private void ChangeCardViewOutlineColor() 294 | { 295 | _outerFrame.BackgroundColor = CardViewOutlineColor; 296 | } 297 | 298 | private void ChangeCardViewInnerFrameOutlineColor() 299 | { 300 | _innerFrame.BackgroundColor = CardViewInnerFrameOutlineColor; 301 | } 302 | 303 | private void ChangeCardViewOutlineColorThickness() 304 | { 305 | _outerFrame.Padding = CardViewOutlineColorThickness; 306 | } 307 | 308 | private void ChangeCardViewInnerFrameOutlineColorThickness() 309 | { 310 | _innerFrame.Padding = CardViewInnerFrameOutlineColorThickness; 311 | } 312 | 313 | private void ChangeCardViewOutlineColorHasShadow() 314 | { 315 | _outerFrame.HasShadow = CardViewHasShadow; 316 | } 317 | 318 | private void ChangeIsSwipeToClearProperty() 319 | { 320 | if (IsSwipeToClearEnabled) 321 | { 322 | SetUpPanGesture(); 323 | Content.GestureRecognizers.Add(_panGestureRecognizer); 324 | return; 325 | } 326 | 327 | Content.GestureRecognizers.Remove(_panGestureRecognizer); 328 | } 329 | 330 | private static void CompareOldAndNewValue(object oldvalue, object newvalue, Action changeValueOfChosenProperty) 331 | { 332 | if (oldvalue == newvalue) 333 | { 334 | return; 335 | } 336 | changeValueOfChosenProperty(); 337 | } 338 | 339 | private void SetUpPanGesture() 340 | { 341 | _panGestureRecognizer.TouchPoints = 1; 342 | _panGestureRecognizer.PanUpdated += PanGestureRecognizerOnPanUpdated; 343 | } 344 | 345 | private void PanGestureRecognizerOnPanUpdated(object sender, PanUpdatedEventArgs panUpdatedEventArgs) 346 | { 347 | double totalWidthNeededForClearingContent = Content.Width * 4 / 5; 348 | if (!(Math.Abs(panUpdatedEventArgs.TotalX) < totalWidthNeededForClearingContent)) 349 | { 350 | return; 351 | } 352 | 353 | Device.BeginInvokeOnMainThread(() => 354 | { 355 | if (Content == null) 356 | { 357 | return; 358 | } 359 | 360 | Content.GestureRecognizers.Remove(_panGestureRecognizer); 361 | Content = null; 362 | }); 363 | } 364 | } 365 | } 366 | -------------------------------------------------------------------------------- /CardView/CardView.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10.0 6 | Debug 7 | AnyCPU 8 | {67F9D3A8-F71E-4428-913F-C37AE82CDB24} 9 | Library 10 | Properties 11 | CardView 12 | CardView 13 | v4.5 14 | Profile259 15 | 512 16 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 17 | 18 | 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | ..\packages\Xamarin.Forms.2.5.0.122203\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Core.dll 44 | 45 | 46 | ..\packages\Xamarin.Forms.2.5.0.122203\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Platform.dll 47 | 48 | 49 | ..\packages\Xamarin.Forms.2.5.0.122203\lib\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.Xaml.dll 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 59 | 60 | 61 | 62 | 63 | 64 | 65 | 72 | -------------------------------------------------------------------------------- /CardView/CardView.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | XamarinForms.CardView 5 | 1.1.1.5 6 | $title$ 7 | Paul Karam 8 | Paul Karam 9 | https://github.com/tiger4589/Xamarin.Forms-CardView/blob/master/LICENSE 10 | https://github.com/tiger4589/Xamarin.Forms-CardView 11 | true 12 | Simple package that allows you to create a CardView in Xamarin.Forms projects for the three platforms (Android, iOS, UWP) 13 | Fixed null default value bug 14 | Copyright 2017-2018 15 | Xamarin Forms Xamarin.Forms CardView XamarinForms 16 | 17 | -------------------------------------------------------------------------------- /CardView/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | 4 | [assembly: AssemblyTitle("Xamarin.Forms CardView")] 5 | [assembly: AssemblyDescription("Simple package that allows you to create a CardView in Xamarin.Forms projects for the three platforms (Android, iOS, UWP)")] 6 | [assembly: AssemblyConfiguration("")] 7 | [assembly: AssemblyCompany("")] 8 | [assembly: AssemblyProduct("Xamarin.Forms CardView")] 9 | [assembly: AssemblyCopyright("Copyright © 2017")] 10 | [assembly: AssemblyTrademark("")] 11 | [assembly: AssemblyCulture("")] 12 | [assembly: NeutralResourcesLanguage("en")] 13 | [assembly: AssemblyVersion("1.1.1.5")] 14 | [assembly: AssemblyFileVersion("1.1.1.5")] 15 | -------------------------------------------------------------------------------- /CardView/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/CardViewExample.Android.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Properties 12 | CardViewExample.Droid 13 | CardViewExample.Android 14 | 512 15 | true 16 | Resources\Resource.Designer.cs 17 | Off 18 | Properties\AndroidManifest.xml 19 | true 20 | v7.0 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | true 30 | full 31 | false 32 | bin\Debug\ 33 | DEBUG;TRACE 34 | prompt 35 | 4 36 | True 37 | None 38 | armeabi,armeabi-v7a,x86 39 | 40 | 41 | pdbonly 42 | true 43 | bin\Release\ 44 | TRACE 45 | prompt 46 | 4 47 | False 48 | SdkOnly 49 | 50 | 51 | 52 | ..\..\packages\XamarinForms.CardView.1.1.1\lib\portable45-net45+win8+wp8+wpa81\CardView.dll 53 | True 54 | 55 | 56 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\MonoAndroid10\FormsViewGroup.dll 57 | True 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | ..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Animated.Vector.Drawable.dll 68 | True 69 | 70 | 71 | ..\..\packages\Xamarin.Android.Support.Design.23.3.0\lib\MonoAndroid43\Xamarin.Android.Support.Design.dll 72 | True 73 | 74 | 75 | ..\..\packages\Xamarin.Android.Support.v4.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll 76 | True 77 | 78 | 79 | ..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll 80 | True 81 | 82 | 83 | ..\..\packages\Xamarin.Android.Support.v7.CardView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll 84 | True 85 | 86 | 87 | ..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll 88 | True 89 | 90 | 91 | ..\..\packages\Xamarin.Android.Support.v7.RecyclerView.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.RecyclerView.dll 92 | True 93 | 94 | 95 | ..\..\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.Vector.Drawable.dll 96 | True 97 | 98 | 99 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\MonoAndroid10\Xamarin.Forms.Core.dll 100 | True 101 | 102 | 103 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\MonoAndroid10\Xamarin.Forms.Platform.dll 104 | True 105 | 106 | 107 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll 108 | True 109 | 110 | 111 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll 112 | True 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | {c42ab8bf-84a4-4db0-9125-299172fe0c02} 142 | CardViewExample 143 | 144 | 145 | 146 | 147 | 148 | 149 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.Runtime; 6 | using Android.Views; 7 | using Android.Widget; 8 | using Android.OS; 9 | 10 | namespace CardViewExample.Droid 11 | { 12 | [Activity(Label = "CardViewExample", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 13 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 14 | { 15 | protected override void OnCreate(Bundle bundle) 16 | { 17 | TabLayoutResource = Resource.Layout.Tabbar; 18 | ToolbarResource = Resource.Layout.Toolbar; 19 | 20 | base.OnCreate(bundle); 21 | 22 | global::Xamarin.Forms.Forms.Init(this, bundle); 23 | LoadApplication(new App()); 24 | } 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("CardViewExample.Android")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("CardViewExample.Android")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.Android/Resources/drawable/icon.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/layout/Tabbar.axml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/layout/Toolbar.axml: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 26 | 27 | 30 | 31 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.Android/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.ApplicationModel; 7 | using Windows.ApplicationModel.Activation; 8 | using Windows.Foundation; 9 | using Windows.Foundation.Collections; 10 | using Windows.UI.Xaml; 11 | using Windows.UI.Xaml.Controls; 12 | using Windows.UI.Xaml.Controls.Primitives; 13 | using Windows.UI.Xaml.Data; 14 | using Windows.UI.Xaml.Input; 15 | using Windows.UI.Xaml.Media; 16 | using Windows.UI.Xaml.Navigation; 17 | 18 | namespace CardViewExample.UWP 19 | { 20 | /// 21 | /// Provides application-specific behavior to supplement the default Application class. 22 | /// 23 | sealed partial class App : Application 24 | { 25 | /// 26 | /// Initializes the singleton application object. This is the first line of authored code 27 | /// executed, and as such is the logical equivalent of main() or WinMain(). 28 | /// 29 | public App() 30 | { 31 | this.InitializeComponent(); 32 | this.Suspending += OnSuspending; 33 | } 34 | 35 | /// 36 | /// Invoked when the application is launched normally by the end user. Other entry points 37 | /// will be used such as when the application is launched to open a specific file. 38 | /// 39 | /// Details about the launch request and process. 40 | protected override void OnLaunched(LaunchActivatedEventArgs e) 41 | { 42 | 43 | #if DEBUG 44 | if (System.Diagnostics.Debugger.IsAttached) 45 | { 46 | this.DebugSettings.EnableFrameRateCounter = true; 47 | } 48 | #endif 49 | 50 | Frame rootFrame = Window.Current.Content as Frame; 51 | 52 | // Do not repeat app initialization when the Window already has content, 53 | // just ensure that the window is active 54 | if (rootFrame == null) 55 | { 56 | // Create a Frame to act as the navigation context and navigate to the first page 57 | rootFrame = new Frame(); 58 | 59 | rootFrame.NavigationFailed += OnNavigationFailed; 60 | 61 | Xamarin.Forms.Forms.Init(e); 62 | 63 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 64 | { 65 | //TODO: Load state from previously suspended application 66 | } 67 | 68 | // Place the frame in the current Window 69 | Window.Current.Content = rootFrame; 70 | } 71 | 72 | if (rootFrame.Content == null) 73 | { 74 | // When the navigation stack isn't restored navigate to the first page, 75 | // configuring the new page by passing required information as a navigation 76 | // parameter 77 | rootFrame.Navigate(typeof(MainPage), e.Arguments); 78 | } 79 | // Ensure the current window is active 80 | Window.Current.Activate(); 81 | } 82 | 83 | /// 84 | /// Invoked when Navigation to a certain page fails 85 | /// 86 | /// The Frame which failed navigation 87 | /// Details about the navigation failure 88 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 89 | { 90 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 91 | } 92 | 93 | /// 94 | /// Invoked when application execution is being suspended. Application state is saved 95 | /// without knowing whether the application will be terminated or resumed with the contents 96 | /// of memory still intact. 97 | /// 98 | /// The source of the suspend request. 99 | /// Details about the suspend request. 100 | private void OnSuspending(object sender, SuspendingEventArgs e) 101 | { 102 | var deferral = e.SuspendingOperation.GetDeferral(); 103 | //TODO: Save application state and stop any background activity 104 | deferral.Complete(); 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-100.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-125.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-150.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/LockScreenLogo.scale-400.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-125.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-150.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/SplashScreen.scale-400.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-125.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-150.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square150x150Logo.scale-400.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-100.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-125.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-150.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.scale-400.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-16_altform-unplated.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-256_altform-unplated.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-32_altform-unplated.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Square44x44Logo.targetsize-48_altform-unplated.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-125.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-150.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.UWP/Assets/Wide310x150Logo.scale-400.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/CardViewExample.UWP.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | x86 7 | {64D25CA2-CE40-4437-A5D2-9B9642219D36} 8 | AppContainerExe 9 | Properties 10 | CardViewExample.UWP 11 | CardViewExample.UWP 12 | en-US 13 | UAP 14 | 10.0.14393.0 15 | 10.0.10240.0 16 | 14 17 | true 18 | 512 19 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 20 | CardViewExample.UWP_TemporaryKey.pfx 21 | 22 | 23 | true 24 | bin\ARM\Debug\ 25 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 26 | ;2008 27 | full 28 | ARM 29 | false 30 | prompt 31 | true 32 | 33 | 34 | bin\ARM\Release\ 35 | TRACE;NETFX_CORE;WINDOWS_UWP 36 | true 37 | ;2008 38 | pdbonly 39 | ARM 40 | false 41 | prompt 42 | true 43 | true 44 | 45 | 46 | true 47 | bin\x64\Debug\ 48 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 49 | ;2008 50 | full 51 | x64 52 | false 53 | prompt 54 | true 55 | 56 | 57 | bin\x64\Release\ 58 | TRACE;NETFX_CORE;WINDOWS_UWP 59 | true 60 | ;2008 61 | pdbonly 62 | x64 63 | false 64 | prompt 65 | true 66 | true 67 | 68 | 69 | true 70 | bin\x86\Debug\ 71 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 72 | ;2008 73 | full 74 | x86 75 | false 76 | prompt 77 | true 78 | 79 | 80 | bin\x86\Release\ 81 | TRACE;NETFX_CORE;WINDOWS_UWP 82 | true 83 | ;2008 84 | pdbonly 85 | x86 86 | false 87 | prompt 88 | true 89 | true 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | App.xaml 98 | 99 | 100 | MainPage.xaml 101 | 102 | 103 | 104 | 105 | 106 | Designer 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | MSBuild:Compile 147 | Designer 148 | 149 | 150 | MSBuild:Compile 151 | Designer 152 | 153 | 154 | 155 | 156 | {c42ab8bf-84a4-4db0-9125-299172fe0c02} 157 | CardViewExample 158 | 159 | 160 | 161 | 14.0 162 | 163 | 164 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | namespace CardViewExample.UWP 17 | { 18 | public sealed partial class MainPage 19 | { 20 | public MainPage() 21 | { 22 | this.InitializeComponent(); 23 | 24 | LoadApplication(new CardViewExample.App()); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Package.appxmanifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | CardViewExample.UWP 18 | TheTiger 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CardViewExample.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CardViewExample.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2", 4 | "Xamarin.Forms": "2.3.3.193", 5 | "XamarinForms.CardView": "1.1.1" 6 | }, 7 | "frameworks": { 8 | "uap10.0": {} 9 | }, 10 | "runtimes": { 11 | "win10-arm": {}, 12 | "win10-arm-aot": {}, 13 | "win10-x86": {}, 14 | "win10-x86-aot": {}, 15 | "win10-x64": {}, 16 | "win10-x64-aot": {} 17 | } 18 | } -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace CardViewExample.iOS 9 | { 10 | // The UIApplicationDelegate for the application. This class is responsible for launching the 11 | // User Interface of the application, as well as listening (and optionally responding) to 12 | // application events from iOS. 13 | [Register("AppDelegate")] 14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 15 | { 16 | // 17 | // This method is invoked when the application has loaded and is ready to run. In this 18 | // method you should instantiate the window, load the UI into it and then make the window 19 | // visible. 20 | // 21 | // You have 17 seconds to return from this method, or iOS will terminate your application. 22 | // 23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 24 | { 25 | global::Xamarin.Forms.Forms.Init(); 26 | LoadApplication(new App()); 27 | 28 | return base.FinishedLaunching(app, options); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/CardViewExample.iOS.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | iPhoneSimulator 6 | 8.0.30703 7 | 2.0 8 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074} 9 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Exe 11 | CardViewExample.iOS 12 | Resources 13 | CardViewExample.iOS 14 | 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\iPhoneSimulator\Debug 22 | DEBUG 23 | prompt 24 | 4 25 | false 26 | i386, x86_64 27 | None 28 | true 29 | 30 | 31 | none 32 | true 33 | bin\iPhoneSimulator\Release 34 | prompt 35 | 4 36 | None 37 | i386, x86_64 38 | false 39 | 40 | 41 | true 42 | full 43 | false 44 | bin\iPhone\Debug 45 | DEBUG 46 | prompt 47 | 4 48 | false 49 | ARMv7, ARM64 50 | iPhone Developer 51 | true 52 | Entitlements.plist 53 | 54 | 55 | none 56 | true 57 | bin\iPhone\Release 58 | prompt 59 | 4 60 | ARMv7, ARM64 61 | false 62 | iPhone Developer 63 | Entitlements.plist 64 | 65 | 66 | none 67 | True 68 | bin\iPhone\Ad-Hoc 69 | prompt 70 | 4 71 | False 72 | ARMv7, ARM64 73 | True 74 | Automatic:AdHoc 75 | iPhone Distribution 76 | Entitlements.plist 77 | 78 | 79 | none 80 | True 81 | bin\iPhone\AppStore 82 | prompt 83 | 4 84 | False 85 | ARMv7, ARM64 86 | Automatic:AppStore 87 | iPhone Distribution 88 | Entitlements.plist 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | ..\..\packages\XamarinForms.CardView.1.1.1\lib\portable45-net45+win8+wp8+wpa81\CardView.dll 121 | True 122 | 123 | 124 | 125 | 126 | 127 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll 128 | True 129 | 130 | 131 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll 132 | True 133 | 134 | 135 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll 136 | True 137 | 138 | 139 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll 140 | True 141 | 142 | 143 | 144 | 145 | 146 | {c42ab8bf-84a4-4db0-9125-299172fe0c02} 147 | CardViewExample 148 | 149 | 150 | 151 | 152 | 153 | 154 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | UIDeviceFamily 6 | 7 | 1 8 | 2 9 | 10 | UISupportedInterfaceOrientations 11 | 12 | UIInterfaceOrientationPortrait 13 | UIInterfaceOrientationLandscapeLeft 14 | UIInterfaceOrientationLandscapeRight 15 | 16 | UISupportedInterfaceOrientations~ipad 17 | 18 | UIInterfaceOrientationPortrait 19 | UIInterfaceOrientationPortraitUpsideDown 20 | UIInterfaceOrientationLandscapeLeft 21 | UIInterfaceOrientationLandscapeRight 22 | 23 | MinimumOSVersion 24 | 8.0 25 | CFBundleDisplayName 26 | CardViewExample 27 | CFBundleIdentifier 28 | com.yourcompany.CardViewExample 29 | CFBundleVersion 30 | 1.0 31 | CFBundleIconFiles 32 | 33 | Icon-60@2x 34 | Icon-60@3x 35 | Icon-76 36 | Icon-76@2x 37 | Default 38 | Default@2x 39 | Default-568h@2x 40 | Default-Portrait 41 | Default-Portrait@2x 42 | Icon-Small-40 43 | Icon-Small-40@2x 44 | Icon-Small-40@3x 45 | Icon-Small 46 | Icon-Small@2x 47 | Icon-Small@3x 48 | 49 | UILaunchStoryboardName 50 | LaunchScreen 51 | 52 | 53 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace CardViewExample.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CardViewExample.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CardViewExample.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-60@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-60@3x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-76.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-76@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small@2x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/Icon-Small@3x.png -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/Resources/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/iTunesArtwork: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/iTunesArtwork -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/iTunesArtwork@2x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewExamples/CardViewExample/CardViewExample.iOS/iTunesArtwork@2x -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample.iOS/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/AllCombinedPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/AllCombinedPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class AllCombinedPage : ContentPage 6 | { 7 | public AllCombinedPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/App.xaml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class App : Application 6 | { 7 | public App() 8 | { 9 | InitializeComponent(); 10 | 11 | MainPage = new NavigationPage(new MainPage()); 12 | } 13 | 14 | protected override void OnStart() 15 | { 16 | } 17 | 18 | protected override void OnSleep() 19 | { 20 | } 21 | 22 | protected override void OnResume() 23 | { 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewContentPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewContentPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class CardViewContentPage : ContentPage 6 | { 7 | public CardViewContentPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewExample.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 11.0 6 | Debug 7 | AnyCPU 8 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD} 9 | Library 10 | Properties 11 | CardViewExample 12 | CardViewExample 13 | 512 14 | v4.5 15 | Profile259 16 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 17 | 18 | 19 | 20 | 21 | true 22 | full 23 | false 24 | bin\Debug\ 25 | DEBUG;TRACE 26 | prompt 27 | 4 28 | 29 | 30 | pdbonly 31 | true 32 | bin\Release\ 33 | TRACE 34 | prompt 35 | 4 36 | 37 | 38 | 39 | AllCombinedPage.xaml 40 | 41 | 42 | App.xaml 43 | 44 | 45 | CardViewContentPage.xaml 46 | 47 | 48 | CardViewHasShadowPage.xaml 49 | 50 | 51 | CardViewHeightRequestPage.xaml 52 | 53 | 54 | CardViewOutlineColorPage.xaml 55 | 56 | 57 | InnerFrameOutlineColorPage.xaml 58 | 59 | 60 | MainPage.xaml 61 | 62 | 63 | 64 | SwipeToClearEnabledPage.xaml 65 | 66 | 67 | 68 | 69 | Designer 70 | MSBuild:UpdateDesignTimeXaml 71 | 72 | 73 | Designer 74 | MSBuild:UpdateDesignTimeXaml 75 | 76 | 77 | 78 | 79 | ..\..\packages\XamarinForms.CardView.1.1.1\lib\portable45-net45+win8+wp8+wpa81\CardView.dll 80 | True 81 | 82 | 83 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Core.dll 84 | True 85 | 86 | 87 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Platform.dll 88 | True 89 | 90 | 91 | ..\..\packages\Xamarin.Forms.2.3.3.193\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Xaml.dll 92 | True 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | MSBuild:UpdateDesignTimeXaml 101 | Designer 102 | 103 | 104 | 105 | 106 | MSBuild:UpdateDesignTimeXaml 107 | Designer 108 | 109 | 110 | 111 | 112 | MSBuild:UpdateDesignTimeXaml 113 | Designer 114 | 115 | 116 | 117 | 118 | MSBuild:UpdateDesignTimeXaml 119 | Designer 120 | 121 | 122 | 123 | 124 | MSBuild:UpdateDesignTimeXaml 125 | Designer 126 | 127 | 128 | 129 | 130 | MSBuild:UpdateDesignTimeXaml 131 | Designer 132 | 133 | 134 | 135 | 136 | MSBuild:UpdateDesignTimeXaml 137 | Designer 138 | 139 | 140 | 141 | 142 | 143 | 144 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewHasShadowPage.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewHasShadowPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class CardViewHasShadowPage : ContentPage 6 | { 7 | public CardViewHasShadowPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewHeightRequestPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewHeightRequestPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class CardViewHeightRequestPage : ContentPage 6 | { 7 | public CardViewHeightRequestPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewOutlineColorPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/CardViewOutlineColorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class CardViewOutlineColorPage : ContentPage 6 | { 7 | public CardViewOutlineColorPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/InnerFrameOutlineColorPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/InnerFrameOutlineColorPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class InnerFrameOutlineColorPage : ContentPage 6 | { 7 | public InnerFrameOutlineColorPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 12 | 17 | 22 | 27 | 32 | 37 | 42 | 43 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | 4 | namespace CardViewExample 5 | { 6 | public partial class MainPage : ContentPage 7 | { 8 | public MainPage() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private async void CardViewContent_OnTapped(object sender, EventArgs e) 14 | { 15 | await Navigation.PushAsync(new CardViewContentPage()).ConfigureAwait(true); 16 | } 17 | 18 | private async void CardViewHeightRequest_OnTapped(object sender, EventArgs e) 19 | { 20 | await Navigation.PushAsync(new CardViewHeightRequestPage()).ConfigureAwait(true); 21 | } 22 | 23 | private async void CardViewOutlineColor_OnTapped(object sender, EventArgs e) 24 | { 25 | await Navigation.PushAsync(new CardViewOutlineColorPage()).ConfigureAwait(true); 26 | } 27 | 28 | private async void CardViewInlineFrameOutlineColor_OnTapped(object sender, EventArgs e) 29 | { 30 | await Navigation.PushAsync(new InnerFrameOutlineColorPage()).ConfigureAwait(true); 31 | } 32 | 33 | private async void CardViewHasShadow_OnTapped(object sender, EventArgs e) 34 | { 35 | await Navigation.PushAsync(new CardViewHasShadowPage()).ConfigureAwait(true); 36 | } 37 | 38 | private async void CardViewHasSwipeToClear_OnTapped(object sender, EventArgs e) 39 | { 40 | await Navigation.PushAsync(new SwipeToClearEnabledPage()).ConfigureAwait(true); 41 | } 42 | 43 | private async void CardViewAllExamples_OnTapped(object sender, EventArgs e) 44 | { 45 | await Navigation.PushAsync(new AllCombinedPage()).ConfigureAwait(true); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("CardViewExample")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("CardViewExample")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/SwipeToClearEnabledPage.xaml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/SwipeToClearEnabledPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace CardViewExample 4 | { 5 | public partial class SwipeToClearEnabledPage : ContentPage 6 | { 7 | public SwipeToClearEnabledPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExample/CardViewExample/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /CardViewExamples/CardViewExamples.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardViewExample.Android", "CardViewExample\CardViewExample.Android\CardViewExample.Android.csproj", "{5B121DF1-A2F2-4D05-83AD-A509EBBCA085}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardViewExample", "CardViewExample\CardViewExample\CardViewExample.csproj", "{DC3CD01F-D64C-4378-9158-8384CD15E5DD}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardViewExample.UWP", "CardViewExample\CardViewExample.UWP\CardViewExample.UWP.csproj", "{64D25CA2-CE40-4437-A5D2-9B9642219D36}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardViewExample.iOS", "CardViewExample\CardViewExample.iOS\CardViewExample.iOS.csproj", "{54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Ad-Hoc|Any CPU = Ad-Hoc|Any CPU 17 | Ad-Hoc|ARM = Ad-Hoc|ARM 18 | Ad-Hoc|iPhone = Ad-Hoc|iPhone 19 | Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator 20 | Ad-Hoc|x64 = Ad-Hoc|x64 21 | Ad-Hoc|x86 = Ad-Hoc|x86 22 | AppStore|Any CPU = AppStore|Any CPU 23 | AppStore|ARM = AppStore|ARM 24 | AppStore|iPhone = AppStore|iPhone 25 | AppStore|iPhoneSimulator = AppStore|iPhoneSimulator 26 | AppStore|x64 = AppStore|x64 27 | AppStore|x86 = AppStore|x86 28 | Debug|Any CPU = Debug|Any CPU 29 | Debug|ARM = Debug|ARM 30 | Debug|iPhone = Debug|iPhone 31 | Debug|iPhoneSimulator = Debug|iPhoneSimulator 32 | Debug|x64 = Debug|x64 33 | Debug|x86 = Debug|x86 34 | Release|Any CPU = Release|Any CPU 35 | Release|ARM = Release|ARM 36 | Release|iPhone = Release|iPhone 37 | Release|iPhoneSimulator = Release|iPhoneSimulator 38 | Release|x64 = Release|x64 39 | Release|x86 = Release|x86 40 | EndGlobalSection 41 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 42 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU 43 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU 44 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU 45 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU 46 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|ARM.Build.0 = Release|Any CPU 47 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU 48 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU 49 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU 50 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU 51 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU 52 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU 53 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU 54 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU 55 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x64.Build.0 = Release|Any CPU 56 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU 57 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU 58 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x86.Build.0 = Release|Any CPU 59 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU 60 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|Any CPU.ActiveCfg = Release|Any CPU 61 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|Any CPU.Build.0 = Release|Any CPU 62 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|Any CPU.Deploy.0 = Release|Any CPU 63 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|ARM.ActiveCfg = Release|Any CPU 64 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|ARM.Build.0 = Release|Any CPU 65 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|ARM.Deploy.0 = Release|Any CPU 66 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhone.ActiveCfg = Release|Any CPU 67 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhone.Build.0 = Release|Any CPU 68 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhone.Deploy.0 = Release|Any CPU 69 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU 70 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU 71 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU 72 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x64.ActiveCfg = Release|Any CPU 73 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x64.Build.0 = Release|Any CPU 74 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x64.Deploy.0 = Release|Any CPU 75 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x86.ActiveCfg = Release|Any CPU 76 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x86.Build.0 = Release|Any CPU 77 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.AppStore|x86.Deploy.0 = Release|Any CPU 78 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 79 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|Any CPU.Build.0 = Debug|Any CPU 80 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|Any CPU.Deploy.0 = Debug|Any CPU 81 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|ARM.ActiveCfg = Debug|Any CPU 82 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|ARM.Build.0 = Debug|Any CPU 83 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|ARM.Deploy.0 = Debug|Any CPU 84 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhone.ActiveCfg = Debug|Any CPU 85 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhone.Build.0 = Debug|Any CPU 86 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhone.Deploy.0 = Debug|Any CPU 87 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 88 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 89 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU 90 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x64.ActiveCfg = Debug|Any CPU 91 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x64.Build.0 = Debug|Any CPU 92 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x64.Deploy.0 = Debug|Any CPU 93 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x86.ActiveCfg = Debug|Any CPU 94 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x86.Build.0 = Debug|Any CPU 95 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Debug|x86.Deploy.0 = Debug|Any CPU 96 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|Any CPU.ActiveCfg = Release|Any CPU 97 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|Any CPU.Build.0 = Release|Any CPU 98 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|Any CPU.Deploy.0 = Release|Any CPU 99 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|ARM.ActiveCfg = Release|Any CPU 100 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|ARM.Build.0 = Release|Any CPU 101 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|ARM.Deploy.0 = Release|Any CPU 102 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhone.ActiveCfg = Release|Any CPU 103 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhone.Build.0 = Release|Any CPU 104 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhone.Deploy.0 = Release|Any CPU 105 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 106 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 107 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU 108 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x64.ActiveCfg = Release|Any CPU 109 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x64.Build.0 = Release|Any CPU 110 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x64.Deploy.0 = Release|Any CPU 111 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x86.ActiveCfg = Release|Any CPU 112 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x86.Build.0 = Release|Any CPU 113 | {5B121DF1-A2F2-4D05-83AD-A509EBBCA085}.Release|x86.Deploy.0 = Release|Any CPU 114 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU 115 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU 116 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU 117 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|ARM.Build.0 = Release|Any CPU 118 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU 119 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU 120 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU 121 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU 122 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU 123 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|x64.Build.0 = Release|Any CPU 124 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU 125 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Ad-Hoc|x86.Build.0 = Release|Any CPU 126 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|Any CPU.ActiveCfg = Release|Any CPU 127 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|Any CPU.Build.0 = Release|Any CPU 128 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|ARM.ActiveCfg = Release|Any CPU 129 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|ARM.Build.0 = Release|Any CPU 130 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|iPhone.ActiveCfg = Release|Any CPU 131 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|iPhone.Build.0 = Release|Any CPU 132 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU 133 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU 134 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|x64.ActiveCfg = Release|Any CPU 135 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|x64.Build.0 = Release|Any CPU 136 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|x86.ActiveCfg = Release|Any CPU 137 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.AppStore|x86.Build.0 = Release|Any CPU 138 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 139 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|Any CPU.Build.0 = Debug|Any CPU 140 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|ARM.ActiveCfg = Debug|Any CPU 141 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|ARM.Build.0 = Debug|Any CPU 142 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|iPhone.ActiveCfg = Debug|Any CPU 143 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|iPhone.Build.0 = Debug|Any CPU 144 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 145 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 146 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|x64.ActiveCfg = Debug|Any CPU 147 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|x64.Build.0 = Debug|Any CPU 148 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|x86.ActiveCfg = Debug|Any CPU 149 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Debug|x86.Build.0 = Debug|Any CPU 150 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|Any CPU.ActiveCfg = Release|Any CPU 151 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|Any CPU.Build.0 = Release|Any CPU 152 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|ARM.ActiveCfg = Release|Any CPU 153 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|ARM.Build.0 = Release|Any CPU 154 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|iPhone.ActiveCfg = Release|Any CPU 155 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|iPhone.Build.0 = Release|Any CPU 156 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 157 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 158 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|x64.ActiveCfg = Release|Any CPU 159 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|x64.Build.0 = Release|Any CPU 160 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|x86.ActiveCfg = Release|Any CPU 161 | {DC3CD01F-D64C-4378-9158-8384CD15E5DD}.Release|x86.Build.0 = Release|Any CPU 162 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86 163 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|Any CPU.Build.0 = Release|x86 164 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86 165 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|ARM.ActiveCfg = Release|ARM 166 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|ARM.Build.0 = Release|ARM 167 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|ARM.Deploy.0 = Release|ARM 168 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhone.ActiveCfg = Release|x86 169 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhone.Build.0 = Release|x86 170 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhone.Deploy.0 = Release|x86 171 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86 172 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86 173 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86 174 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x64.ActiveCfg = Release|x64 175 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x64.Build.0 = Release|x64 176 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x64.Deploy.0 = Release|x64 177 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x86.ActiveCfg = Release|x86 178 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x86.Build.0 = Release|x86 179 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Ad-Hoc|x86.Deploy.0 = Release|x86 180 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|Any CPU.ActiveCfg = Release|x86 181 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|Any CPU.Build.0 = Release|x86 182 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|Any CPU.Deploy.0 = Release|x86 183 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|ARM.ActiveCfg = Release|ARM 184 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|ARM.Build.0 = Release|ARM 185 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|ARM.Deploy.0 = Release|ARM 186 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhone.ActiveCfg = Release|x86 187 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhone.Build.0 = Release|x86 188 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhone.Deploy.0 = Release|x86 189 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86 190 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhoneSimulator.Build.0 = Release|x86 191 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86 192 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x64.ActiveCfg = Release|x64 193 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x64.Build.0 = Release|x64 194 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x64.Deploy.0 = Release|x64 195 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x86.ActiveCfg = Release|x86 196 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x86.Build.0 = Release|x86 197 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.AppStore|x86.Deploy.0 = Release|x86 198 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|Any CPU.ActiveCfg = Debug|x86 199 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|ARM.ActiveCfg = Debug|ARM 200 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|ARM.Build.0 = Debug|ARM 201 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|ARM.Deploy.0 = Debug|ARM 202 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|iPhone.ActiveCfg = Debug|x86 203 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 204 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x64.ActiveCfg = Debug|x64 205 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x64.Build.0 = Debug|x64 206 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x64.Deploy.0 = Debug|x64 207 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x86.ActiveCfg = Debug|x86 208 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x86.Build.0 = Debug|x86 209 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Debug|x86.Deploy.0 = Debug|x86 210 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|Any CPU.ActiveCfg = Release|x86 211 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|ARM.ActiveCfg = Release|ARM 212 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|ARM.Build.0 = Release|ARM 213 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|ARM.Deploy.0 = Release|ARM 214 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|iPhone.ActiveCfg = Release|x86 215 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|iPhoneSimulator.ActiveCfg = Release|x86 216 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x64.ActiveCfg = Release|x64 217 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x64.Build.0 = Release|x64 218 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x64.Deploy.0 = Release|x64 219 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x86.ActiveCfg = Release|x86 220 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x86.Build.0 = Release|x86 221 | {64D25CA2-CE40-4437-A5D2-9B9642219D36}.Release|x86.Deploy.0 = Release|x86 222 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone 223 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone 224 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone 225 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone 226 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator 227 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator 228 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone 229 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone 230 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone 231 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|ARM.ActiveCfg = AppStore|iPhone 232 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|iPhone.ActiveCfg = AppStore|iPhone 233 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|iPhone.Build.0 = AppStore|iPhone 234 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator 235 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator 236 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|x64.ActiveCfg = AppStore|iPhone 237 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.AppStore|x86.ActiveCfg = AppStore|iPhone 238 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|Any CPU.ActiveCfg = Debug|iPhone 239 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|ARM.ActiveCfg = Debug|iPhone 240 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|iPhone.ActiveCfg = Debug|iPhone 241 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|iPhone.Build.0 = Debug|iPhone 242 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 243 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 244 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|x64.ActiveCfg = Debug|iPhone 245 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Debug|x86.ActiveCfg = Debug|iPhone 246 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|Any CPU.ActiveCfg = Release|iPhone 247 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|ARM.ActiveCfg = Release|iPhone 248 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|iPhone.ActiveCfg = Release|iPhone 249 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|iPhone.Build.0 = Release|iPhone 250 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator 251 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator 252 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|x64.ActiveCfg = Release|iPhone 253 | {54E7EF6B-59C6-4AA8-A8D1-8EB81F78F074}.Release|x86.ActiveCfg = Release|iPhone 254 | EndGlobalSection 255 | GlobalSection(SolutionProperties) = preSolution 256 | HideSolutionNode = FALSE 257 | EndGlobalSection 258 | EndGlobal 259 | -------------------------------------------------------------------------------- /CardViewImagesFromExample/CardViewContent.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewImagesFromExample/CardViewContent.PNG -------------------------------------------------------------------------------- /CardViewImagesFromExample/CardViewHasShadow.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewImagesFromExample/CardViewHasShadow.PNG -------------------------------------------------------------------------------- /CardViewImagesFromExample/CardViewHeightRequest.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewImagesFromExample/CardViewHeightRequest.PNG -------------------------------------------------------------------------------- /CardViewImagesFromExample/CardViewInnerFrameOutlineColor.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewImagesFromExample/CardViewInnerFrameOutlineColor.PNG -------------------------------------------------------------------------------- /CardViewImagesFromExample/CardViewOutlineColor.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tiger4589/Xamarin.Forms-CardView/88357f853c48958b6d532cb336a500639f3078f3/CardViewImagesFromExample/CardViewOutlineColor.PNG -------------------------------------------------------------------------------- /CardViewNetStandard/CardView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | 4 | namespace CardViewNetStandard 5 | { 6 | public class CardView : ContentView 7 | { 8 | private Frame _outerFrame; 9 | private Frame _innerFrame; 10 | private PanGestureRecognizer _panGestureRecognizer = new PanGestureRecognizer(); 11 | 12 | public CardView() 13 | { 14 | CardViewHorizontalOptionsProperty = BindableProperty.Create( 15 | propertyName: "CardViewHorizontalOptions", 16 | returnType: typeof(LayoutOptions), 17 | declaringType: typeof(CardView), 18 | defaultValue: LayoutOptions.Start, 19 | propertyChanged: CardViewHorizontalOptionsChanged); 20 | 21 | CardViewContentProperty = BindableProperty.Create( 22 | propertyName: "CardViewContent", 23 | returnType: typeof(View), 24 | declaringType: typeof(CardView), 25 | propertyChanged: CardViewContentChanged); 26 | 27 | CardViewOutlineColorThicknessProperty = BindableProperty.Create( 28 | propertyName: "CardViewOutlineColorThickness", 29 | returnType: typeof(Thickness), 30 | declaringType: typeof(CardView), 31 | defaultValue: new Thickness(0), 32 | propertyChanged: CardViewOutlineColorThicknessChanged); 33 | 34 | CardViewHeightRequestProperty = BindableProperty.Create( 35 | propertyName: "CardViewHeightRequest", 36 | returnType: typeof(double), 37 | declaringType: typeof(CardView), 38 | defaultValue: -1d, 39 | propertyChanged: CardViewHeightRequestChanged); 40 | 41 | CardViewOutlineColorThicknessProperty = BindableProperty.Create( 42 | propertyName: "CardViewOutlineColorThickness", 43 | returnType: typeof(Thickness), 44 | declaringType: typeof(CardView), 45 | defaultValue: new Thickness(0), 46 | propertyChanged: CardViewOutlineColorThicknessChanged); 47 | 48 | CardViewInnerFrameOutlineColorProperty = BindableProperty.Create( 49 | propertyName: "CardViewInnerFrameOutlineColor", 50 | declaringType: typeof(CardView), 51 | returnType: typeof(Color), 52 | defaultValue: Color.Transparent, 53 | propertyChanged: CardViewInnerFrameOutlineColorChanged); 54 | 55 | CardViewOutlineColorProperty = BindableProperty.Create( 56 | propertyName: "CardViewOutlineColor", 57 | declaringType: typeof(CardView), 58 | returnType: typeof(Color), 59 | defaultValue: Color.Transparent, 60 | propertyChanged: CardViewOutlineColorChanged); 61 | 62 | CardViewInnerFrameOutlineColorThicknessProperty = BindableProperty.Create( 63 | propertyName: "CardViewInnerFrameOutlineColorThickness", 64 | returnType: typeof(Thickness), 65 | declaringType: typeof(CardView), 66 | defaultValue: new Thickness(0), 67 | propertyChanged: CardViewInnerFrameOutlineColorThicknessChanged); 68 | 69 | CardViewHasShadowProperty = BindableProperty.Create( 70 | propertyName: "CardViewHasShadow", 71 | returnType: typeof(bool), 72 | declaringType: typeof(CardView), 73 | defaultValue: false, 74 | propertyChanged: CardViewHasShadowChanged); 75 | IsSwipeToClearEnabledProperty = BindableProperty.Create( 76 | propertyName: "IsSwipeToClearEnabled", 77 | returnType: typeof(bool), 78 | declaringType: typeof(CardView), 79 | defaultValue: false, 80 | propertyChanged: CardViewSwipeToClearPropertyChanged); 81 | 82 | _innerFrame = new Frame 83 | { 84 | Padding = CardViewInnerFrameOutlineColorThickness, 85 | HasShadow = false, 86 | OutlineColor = Color.Transparent, 87 | BackgroundColor = CardViewInnerFrameOutlineColor, 88 | HeightRequest = CardViewHeightRequest, 89 | HorizontalOptions = CardViewHorizontalOptions 90 | }; 91 | 92 | _outerFrame = new Frame 93 | { 94 | Padding = CardViewOutlineColorThickness, 95 | HasShadow = CardViewHasShadow, 96 | OutlineColor = Color.Transparent, 97 | HeightRequest = CardViewHeightRequest, 98 | BackgroundColor = CardViewOutlineColor, 99 | Content = _innerFrame 100 | }; 101 | 102 | Content = _outerFrame; 103 | } 104 | 105 | public readonly BindableProperty CardViewHorizontalOptionsProperty; 106 | 107 | public readonly BindableProperty CardViewContentProperty; 108 | 109 | public readonly BindableProperty CardViewHeightRequestProperty; 110 | 111 | public readonly BindableProperty CardViewOutlineColorProperty; 112 | 113 | public readonly BindableProperty CardViewInnerFrameOutlineColorProperty; 114 | 115 | public readonly BindableProperty CardViewOutlineColorThicknessProperty; 116 | 117 | public readonly BindableProperty CardViewInnerFrameOutlineColorThicknessProperty; 118 | 119 | public readonly BindableProperty CardViewHasShadowProperty; 120 | 121 | public readonly BindableProperty IsSwipeToClearEnabledProperty; 122 | 123 | public View CardViewContent 124 | { 125 | get 126 | { 127 | return (View)GetValue(CardViewContentProperty); 128 | } 129 | set 130 | { 131 | SetValue(CardViewContentProperty, value); 132 | } 133 | } 134 | 135 | public LayoutOptions CardViewHorizontalOptions 136 | { 137 | get 138 | { 139 | return (LayoutOptions)GetValue(CardViewHorizontalOptionsProperty); 140 | } 141 | set 142 | { 143 | SetValue(CardViewHorizontalOptionsProperty, value); 144 | } 145 | } 146 | 147 | public double CardViewHeightRequest 148 | { 149 | get 150 | { 151 | return (double)GetValue(CardViewHeightRequestProperty); 152 | } 153 | set 154 | { 155 | SetValue(CardViewHeightRequestProperty, value); 156 | } 157 | } 158 | 159 | public Color CardViewOutlineColor 160 | { 161 | get 162 | { 163 | return (Color)GetValue(CardViewOutlineColorProperty); 164 | } 165 | set 166 | { 167 | SetValue(CardViewOutlineColorProperty, value); 168 | } 169 | } 170 | 171 | public Color CardViewInnerFrameOutlineColor 172 | { 173 | get 174 | { 175 | return (Color)GetValue(CardViewInnerFrameOutlineColorProperty); 176 | } 177 | set 178 | { 179 | SetValue(CardViewInnerFrameOutlineColorProperty, value); 180 | } 181 | } 182 | 183 | public Thickness CardViewOutlineColorThickness 184 | { 185 | get 186 | { 187 | return (Thickness)GetValue(CardViewOutlineColorThicknessProperty); 188 | } 189 | set 190 | { 191 | SetValue(CardViewOutlineColorThicknessProperty, value); 192 | } 193 | } 194 | 195 | public Thickness CardViewInnerFrameOutlineColorThickness 196 | { 197 | get 198 | { 199 | return (Thickness)GetValue(CardViewInnerFrameOutlineColorThicknessProperty); 200 | } 201 | set 202 | { 203 | SetValue(CardViewInnerFrameOutlineColorThicknessProperty, value); 204 | } 205 | } 206 | 207 | public bool CardViewHasShadow 208 | { 209 | get 210 | { 211 | return (bool)GetValue(CardViewHasShadowProperty); 212 | } 213 | set 214 | { 215 | SetValue(CardViewHasShadowProperty, value); 216 | } 217 | } 218 | 219 | public bool IsSwipeToClearEnabled 220 | { 221 | get 222 | { 223 | return (bool)GetValue(IsSwipeToClearEnabledProperty); 224 | } 225 | set 226 | { 227 | SetValue(IsSwipeToClearEnabledProperty, value); 228 | } 229 | } 230 | 231 | private static void CardViewContentChanged(BindableObject bindable, object oldvalue, object newvalue) 232 | { 233 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewContent()); 234 | } 235 | 236 | private static void CardViewHeightRequestChanged(BindableObject bindable, object oldvalue, object newvalue) 237 | { 238 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewHeightRequest()); 239 | } 240 | 241 | private static void CardViewOutlineColorChanged(BindableObject bindable, object oldvalue, object newvalue) 242 | { 243 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColor()); 244 | } 245 | 246 | private static void CardViewInnerFrameOutlineColorChanged(BindableObject bindable, object oldvalue, object newvalue) 247 | { 248 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewInnerFrameOutlineColor()); 249 | } 250 | 251 | private static void CardViewOutlineColorThicknessChanged(BindableObject bindable, object oldvalue, object newvalue) 252 | { 253 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColorThickness()); 254 | } 255 | 256 | private static void CardViewInnerFrameOutlineColorThicknessChanged(BindableObject bindable, object oldvalue, object newvalue) 257 | { 258 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewInnerFrameOutlineColorThickness()); 259 | } 260 | 261 | private static void CardViewHasShadowChanged(BindableObject bindable, object oldvalue, object newvalue) 262 | { 263 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeCardViewOutlineColorHasShadow()); 264 | } 265 | 266 | private static void CardViewSwipeToClearPropertyChanged(BindableObject bindable, object oldvalue, object newvalue) 267 | { 268 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeIsSwipeToClearProperty()); 269 | } 270 | 271 | private static void CardViewHorizontalOptionsChanged(BindableObject bindable, object oldvalue, object newvalue) 272 | { 273 | CompareOldAndNewValue(oldvalue, newvalue, () => ((CardView)bindable).ChangeHorizontalOptionsProperty()); 274 | } 275 | 276 | private void ChangeCardViewContent() 277 | { 278 | _innerFrame.Content = CardViewContent; 279 | } 280 | 281 | private void ChangeHorizontalOptionsProperty() 282 | { 283 | _innerFrame.HorizontalOptions = CardViewHorizontalOptions; 284 | } 285 | 286 | private void ChangeCardViewHeightRequest() 287 | { 288 | _outerFrame.HeightRequest = CardViewHeightRequest; 289 | _innerFrame.HeightRequest = CardViewHeightRequest; 290 | } 291 | 292 | private void ChangeCardViewOutlineColor() 293 | { 294 | _outerFrame.BackgroundColor = CardViewOutlineColor; 295 | } 296 | 297 | private void ChangeCardViewInnerFrameOutlineColor() 298 | { 299 | _innerFrame.BackgroundColor = CardViewInnerFrameOutlineColor; 300 | } 301 | 302 | private void ChangeCardViewOutlineColorThickness() 303 | { 304 | _outerFrame.Padding = CardViewOutlineColorThickness; 305 | } 306 | 307 | private void ChangeCardViewInnerFrameOutlineColorThickness() 308 | { 309 | _innerFrame.Padding = CardViewInnerFrameOutlineColorThickness; 310 | } 311 | 312 | private void ChangeCardViewOutlineColorHasShadow() 313 | { 314 | _outerFrame.HasShadow = CardViewHasShadow; 315 | } 316 | 317 | private void ChangeIsSwipeToClearProperty() 318 | { 319 | if (IsSwipeToClearEnabled) 320 | { 321 | SetUpPanGesture(); 322 | Content.GestureRecognizers.Add(_panGestureRecognizer); 323 | return; 324 | } 325 | 326 | Content.GestureRecognizers.Remove(_panGestureRecognizer); 327 | } 328 | 329 | private static void CompareOldAndNewValue(object oldvalue, object newvalue, Action changeValueOfChosenProperty) 330 | { 331 | if (oldvalue == newvalue) 332 | { 333 | return; 334 | } 335 | changeValueOfChosenProperty(); 336 | } 337 | 338 | private void SetUpPanGesture() 339 | { 340 | _panGestureRecognizer.TouchPoints = 1; 341 | _panGestureRecognizer.PanUpdated += PanGestureRecognizerOnPanUpdated; 342 | } 343 | 344 | private void PanGestureRecognizerOnPanUpdated(object sender, PanUpdatedEventArgs panUpdatedEventArgs) 345 | { 346 | double totalWidthNeededForClearingContent = Content.Width * 4 / 5; 347 | if (!(Math.Abs(panUpdatedEventArgs.TotalX) < totalWidthNeededForClearingContent)) 348 | { 349 | return; 350 | } 351 | 352 | Device.BeginInvokeOnMainThread(() => 353 | { 354 | if (Content == null) 355 | { 356 | return; 357 | } 358 | 359 | Content.GestureRecognizers.Remove(_panGestureRecognizer); 360 | Content = null; 361 | }); 362 | } 363 | } 364 | } -------------------------------------------------------------------------------- /CardViewNetStandard/CardViewNetStandard.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 1.1.1.5 6 | Paul Karam 7 | Paul Karam 8 | Simple package that allows you to create a CardView in Xamarin.Forms projects for the three platforms (Android, iOS, UWP) 9 | https://github.com/tiger4589/Xamarin.Forms-CardView/blob/master/LICENSE 10 | Copyright 2018 11 | Created XamarinForms.CardView with .Net Standard 2.0 framework. 12 | https://github.com/tiger4589/Xamarin.Forms-CardView 13 | https://github.com/tiger4589/Xamarin.Forms-CardView 14 | Git 15 | Xamarin Forms Xamarin.Forms CardView XamarinForms 16 | true 17 | XamarinForms.CardView.NetStandard 18 | XamarinForms.CardView.NetStandard 19 | true 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CardViewNetStandard/CardViewNetStandard.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | XamarinForms.CardView.NetStandard 5 | 1.1.1.5 6 | $title$ 7 | Paul Karam 8 | Paul Karam 9 | https://github.com/tiger4589/Xamarin.Forms-CardView/blob/master/LICENSE 10 | https://github.com/tiger4589/Xamarin.Forms-CardView 11 | true 12 | Simple package that allows you to create a CardView in Xamarin.Forms projects for the three platforms (Android, iOS, UWP) 13 | Created XamarinForms.CardView with .Net Standard 2.0 framework. 14 | Copyright 2017 15 | Xamarin Forms Xamarin.Forms CardView XamarinForms 16 | 17 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Issue Template 2 | 3 | >In order to submit an issue, please follow the guidelines in this template. 4 | 5 | First of all, in case you didn't search for the issue you faced in the *Issues* page, please make sure to do it [here.](https://github.com/tiger4589/Xamarin.Forms-CardView/issues) 6 | No one knows, you might already find the issue mentioned before with a solution given. 7 | If you don't find it, then please proceed with the next steps. 8 | 9 | * Describing the problem. 10 | 11 | In order to better understand your problem, please describe it clearly and try to narrow it down as much as possible. 12 | 13 | * Exception 14 | 15 | Make sure to include the exception being thrown *if any*. 16 | 17 | * No Exception? 18 | 19 | If there's no exception, but you're facing a problem with an undesired behaviour or design, please include the next: 20 | 21 | 1. Explain what are you trying to achieve. 22 | 1. What is your current output. 23 | 1. What is your desired output. 24 | 25 | * Code Snippets. 26 | 27 | If you believe you know exactly where the error is being thrown in your code, include it. 28 | 29 | * Demo App. 30 | 31 | Make sure to include a demo application that reproduce the problem exactly as it is in order to investigate it and fix it. 32 | 33 | >Those are simple rules that I would like you all to follow, they might be edited through the time in a better format. 34 | >> **Please note, issues following these rules will be treated in a higher priority than other issues.** 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Paul Karam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Xamarin.Forms-CardView 2 | 3 | # ATTENTION - ALERT 4 | This package is not currently under maintenance due to heavy workload on my part. If you feel there's an error or bug somewhere and you can fix it, feel free to contribute. I'll be more than happy to accept them. Thank you. 5 | 6 | --- 7 | A Package to create a CardView using Xamarin.Forms that works on the three platforms (Android, iOS, UWP) 8 | It is simple to use in a straight forward fashion. 9 | You may either use it in C#, or in XAML. 10 | 11 | --- 12 | To Install this nuget package (.Net Framework): 13 | > PM> Install-Package XamarinForms.CardView 14 | 15 | To Install package (.Net Standard 2.0) 16 | > PM> Install-Package XamarinForms.CardView.NetStandard 17 | --- 18 | 19 | ## CardView Bindable Properties 20 | 21 | | Property | Property Name | Property Type | Usage | Default Value | 22 | | :-------------: | :-------------: | :-------------: | :-------------: | :-------------: | 23 | | CardViewContentProperty | CardViewContent | View | CardView Content | None | 24 | | CardViewHeightRequestProperty | CardViewHeightRequest | double | Height Request | -1 | 25 | | CardViewOutlineColorProperty | CardViewOutlineColor | Color | Outline Color | Transparent | 26 | | CardViewInnerFrameOutlineColorProperty | CardViewInnerFrameOutlineColor | Color | Inner OutlineColor | Transparent | 27 | | CardViewOutlineColorThicknessProperty | CardViewOutlineColorThickness | Thickness | OutlineColor Thickness | 0 | 28 | | CardViewInnerFrameOutlineColorThicknessProperty | CardViewInnerFrameOutlineColorThickness | Thickness | Inner OutlineColor Thickness | 0 | 29 | | CardViewHasShadowProperty | CardViewHasShadow | bool | Card View Shadow | false | 30 | | IsSwipeToClearEnabledProperty | IsSwipeToClearEnabled | bool | Enable to clear Content With a Swipe | false | 31 | | CardViewHorizontalOptionsProperty | CardViewHorizontalOptions | LayoutOptions | Set Card View Horisontal Options | Start | 32 | 33 | ### CardViewContent Example: 34 | 35 | ```xml 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | ``` 44 | 45 | ### CardViewHeightRequest Example: 46 | 47 | ```xml 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | ``` 56 | 57 | ### CardViewOutlineColor Example: 58 | 59 | ```xml 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | ``` 68 | 69 | ### CardViewInnerFrameOutlineColor Example: 70 | 71 | ```xml 72 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | ``` 81 | 82 | ### CardViewHasShadow Example: 83 | 84 | ```xml 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | ``` 93 | 94 | ### IsSwipeToClearEnabled Example: 95 | 96 | ```xml 97 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | ``` 106 | 107 | -------------------------------------------------------------------------------- /XamarinFormsCardView.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2027 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardView", "CardView\CardView.csproj", "{67F9D3A8-F71E-4428-913F-C37AE82CDB24}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CardViewNetStandard", "CardViewNetStandard\CardViewNetStandard.csproj", "{C1DD26B1-3FFB-4B00-9425-6FB1B32C0EDE}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {67F9D3A8-F71E-4428-913F-C37AE82CDB24}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {C1DD26B1-3FFB-4B00-9425-6FB1B32C0EDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {C1DD26B1-3FFB-4B00-9425-6FB1B32C0EDE}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {C1DD26B1-3FFB-4B00-9425-6FB1B32C0EDE}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {C1DD26B1-3FFB-4B00-9425-6FB1B32C0EDE}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {2155AFFC-EA33-439C-AD71-335AC05B2CFB} 30 | EndGlobalSection 31 | EndGlobal 32 | --------------------------------------------------------------------------------