├── .gitignore
├── .gitmodules
├── README.md
├── README_kor.md
└── src
├── .idea
└── .idea.AvaloniaNavigationPage
│ └── .idea
│ ├── .gitignore
│ ├── .name
│ ├── avalonia.xml
│ ├── aws.xml
│ ├── encodings.xml
│ ├── indexLayout.xml
│ ├── libraries
│ ├── androidx_activity_activity.xml
│ ├── androidx_annotation_annotation.xml
│ ├── androidx_annotation_annotation_experimental.xml
│ ├── androidx_annotation_annotation_jvm.xml
│ ├── androidx_appcompat_appcompat.xml
│ ├── androidx_appcompat_appcompat_resources.xml
│ ├── androidx_arch_core_core_common.xml
│ ├── androidx_arch_core_core_runtime.xml
│ ├── androidx_collection_collection.xml
│ ├── androidx_collection_collection_jvm.xml
│ ├── androidx_concurrent_concurrent_futures.xml
│ ├── androidx_core_core.xml
│ ├── androidx_core_core_ktx.xml
│ ├── androidx_cursoradapter_cursoradapter.xml
│ ├── androidx_customview_customview.xml
│ ├── androidx_documentfile_documentfile.xml
│ ├── androidx_drawerlayout_drawerlayout.xml
│ ├── androidx_emoji2_emoji2.xml
│ ├── androidx_emoji2_emoji2_views_helper.xml
│ ├── androidx_fragment_fragment.xml
│ ├── androidx_interpolator_interpolator.xml
│ ├── androidx_lifecycle_lifecycle_common.xml
│ ├── androidx_lifecycle_lifecycle_livedata_core.xml
│ ├── androidx_lifecycle_lifecycle_process.xml
│ ├── androidx_lifecycle_lifecycle_runtime.xml
│ ├── androidx_lifecycle_lifecycle_viewmodel.xml
│ ├── androidx_lifecycle_lifecycle_viewmodel_savedstate.xml
│ ├── androidx_loader_loader.xml
│ ├── androidx_profileinstaller_profileinstaller.xml
│ ├── androidx_resourceinspection_resourceinspection_annotation.xml
│ ├── androidx_savedstate_savedstate.xml
│ ├── androidx_startup_startup_runtime.xml
│ ├── androidx_tracing_tracing.xml
│ ├── androidx_vectordrawable_vectordrawable.xml
│ ├── androidx_vectordrawable_vectordrawable_animated.xml
│ ├── androidx_versionedparcelable_versionedparcelable.xml
│ ├── androidx_viewpager_viewpager.xml
│ ├── guava_listenablefuture.xml
│ ├── org_jetbrains_annotations_24_0_0.xml
│ ├── org_jetbrains_annotations_24_0_1.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_1_8_0.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_1_9_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_common_1_8_0.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml
│ ├── org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml
│ └── org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml
│ └── vcs.xml
└── NavigationPage
├── .idea
└── .idea.NavigationPage
│ └── .idea
│ ├── .gitignore
│ ├── avalonia.xml
│ ├── deploymentTargetSelector.xml
│ ├── indexLayout.xml
│ ├── inspectionProfiles
│ └── Project_Default.xml
│ ├── libraries
│ ├── androidx_activity_activity.xml
│ ├── androidx_annotation_annotation.xml
│ ├── androidx_annotation_annotation_experimental.xml
│ ├── androidx_annotation_annotation_jvm.xml
│ ├── androidx_appcompat_appcompat.xml
│ ├── androidx_appcompat_appcompat_resources.xml
│ ├── androidx_arch_core_core_common.xml
│ ├── androidx_arch_core_core_runtime.xml
│ ├── androidx_collection_collection.xml
│ ├── androidx_collection_collection_jvm.xml
│ ├── androidx_concurrent_concurrent_futures.xml
│ ├── androidx_core_core.xml
│ ├── androidx_core_core_ktx.xml
│ ├── androidx_core_core_splashscreen.xml
│ ├── androidx_cursoradapter_cursoradapter.xml
│ ├── androidx_customview_customview.xml
│ ├── androidx_documentfile_documentfile.xml
│ ├── androidx_drawerlayout_drawerlayout.xml
│ ├── androidx_emoji2_emoji2.xml
│ ├── androidx_emoji2_emoji2_views_helper.xml
│ ├── androidx_fragment_fragment.xml
│ ├── androidx_interpolator_interpolator.xml
│ ├── androidx_lifecycle_lifecycle_common.xml
│ ├── androidx_lifecycle_lifecycle_livedata_core.xml
│ ├── androidx_lifecycle_lifecycle_process.xml
│ ├── androidx_lifecycle_lifecycle_runtime.xml
│ ├── androidx_lifecycle_lifecycle_viewmodel.xml
│ ├── androidx_lifecycle_lifecycle_viewmodel_savedstate.xml
│ ├── androidx_loader_loader.xml
│ ├── androidx_profileinstaller_profileinstaller.xml
│ ├── androidx_resourceinspection_resourceinspection_annotation.xml
│ ├── androidx_savedstate_savedstate.xml
│ ├── androidx_startup_startup_runtime.xml
│ ├── androidx_tracing_tracing.xml
│ ├── androidx_vectordrawable_vectordrawable.xml
│ ├── androidx_vectordrawable_vectordrawable_animated.xml
│ ├── androidx_versionedparcelable_versionedparcelable.xml
│ ├── androidx_viewpager_viewpager.xml
│ ├── guava_listenablefuture.xml
│ ├── org_jetbrains_annotations_24_1_0.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_2_0_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml
│ ├── org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml
│ ├── org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml
│ └── org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml
│ └── vcs.xml
├── AvaloniaNavigationView
├── AvaloniaNavigationView.csproj
├── Interfaces
│ └── INavigationViewModel.cs
├── NavigationView.axaml
├── NavigationView.axaml.cs
└── ViewModel
│ └── NavigationViewModel.cs
├── DemoApp.Android
├── DemoApp.Android.csproj
├── Icon.png
├── MainActivity.cs
├── Properties
│ └── AndroidManifest.xml
└── Resources
│ ├── AboutResources.txt
│ ├── drawable-night-v31
│ └── avalonia_anim.xml
│ ├── drawable-v31
│ └── avalonia_anim.xml
│ ├── drawable
│ └── splash_screen.xml
│ ├── values-night
│ └── colors.xml
│ ├── values-v31
│ └── styles.xml
│ └── values
│ ├── colors.xml
│ └── styles.xml
├── DemoApp.Browser
├── DemoApp.Browser.csproj
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ └── launchSettings.json
├── runtimeconfig.template.json
└── wwwroot
│ ├── Logo.svg
│ ├── app.css
│ ├── favicon.ico
│ ├── index.html
│ └── main.js
├── DemoApp.Desktop
├── DemoApp.Desktop.csproj
├── Program.cs
└── app.manifest
├── DemoApp.iOS
├── AppDelegate.cs
├── DemoApp.iOS.csproj
├── Entitlements.plist
├── Info.plist
├── Main.cs
└── Resources
│ └── LaunchScreen.xib
├── DemoApp
├── App.axaml
├── App.axaml.cs
├── Assets
│ └── avalonia-logo.ico
├── DemoApp.csproj
├── ViewLocator.cs
├── ViewModels
│ ├── AContentViewModel.cs
│ ├── BContentViewModel.cs
│ ├── CContentViewModel.cs
│ ├── DContentViewModel.cs
│ ├── EContentViewModel.cs
│ ├── MainViewModel.cs
│ └── ViewModelBase.cs
└── Views
│ ├── AContentView.axaml
│ ├── AContentView.axaml.cs
│ ├── BContentView.axaml
│ ├── BContentView.axaml.cs
│ ├── CContentView.axaml
│ ├── CContentView.axaml.cs
│ ├── DContentView.axaml
│ ├── DContentView.axaml.cs
│ ├── EContentView.axaml
│ ├── EContentView.axaml.cs
│ ├── MainView.axaml
│ ├── MainView.axaml.cs
│ ├── MainWindow.axaml
│ └── MainWindow.axaml.cs
├── Directory.Build.props
└── NavigationPage.sln
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.toptal.com/developers/gitignore/api/visualstudio,rider
2 | # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudio,rider
3 |
4 | ### Rider ###
5 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
6 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
7 |
8 | # User-specific stuff
9 | .idea/**/workspace.xml
10 | .idea/**/tasks.xml
11 | .idea/**/usage.statistics.xml
12 | .idea/**/dictionaries
13 | .idea/**/shelf
14 |
15 | # AWS User-specific
16 | .idea/**/aws.xml
17 |
18 | # Generated files
19 | .idea/**/contentModel.xml
20 |
21 | # Sensitive or high-churn files
22 | .idea/**/dataSources/
23 | .idea/**/dataSources.ids
24 | .idea/**/dataSources.local.xml
25 | .idea/**/sqlDataSources.xml
26 | .idea/**/dynamic.xml
27 | .idea/**/uiDesigner.xml
28 | .idea/**/dbnavigator.xml
29 |
30 | # Gradle
31 | .idea/**/gradle.xml
32 | .idea/**/libraries
33 |
34 | # Gradle and Maven with auto-import
35 | # When using Gradle or Maven with auto-import, you should exclude module files,
36 | # since they will be recreated, and may cause churn. Uncomment if using
37 | # auto-import.
38 | # .idea/artifacts
39 | # .idea/compiler.xml
40 | # .idea/jarRepositories.xml
41 | # .idea/modules.xml
42 | # .idea/*.iml
43 | # .idea/modules
44 | # *.iml
45 | # *.ipr
46 |
47 | # CMake
48 | cmake-build-*/
49 |
50 | # Mongo Explorer plugin
51 | .idea/**/mongoSettings.xml
52 |
53 | # File-based project format
54 | *.iws
55 |
56 | # IntelliJ
57 | out/
58 |
59 | # mpeltonen/sbt-idea plugin
60 | .idea_modules/
61 |
62 | # JIRA plugin
63 | atlassian-ide-plugin.xml
64 |
65 | # Cursive Clojure plugin
66 | .idea/replstate.xml
67 |
68 | # SonarLint plugin
69 | .idea/sonarlint/
70 |
71 | # Crashlytics plugin (for Android Studio and IntelliJ)
72 | com_crashlytics_export_strings.xml
73 | crashlytics.properties
74 | crashlytics-build.properties
75 | fabric.properties
76 |
77 | # Editor-based Rest Client
78 | .idea/httpRequests
79 |
80 | # Android studio 3.1+ serialized cache file
81 | .idea/caches/build_file_checksums.ser
82 |
83 | ### VisualStudio ###
84 | ## Ignore Visual Studio temporary files, build results, and
85 | ## files generated by popular Visual Studio add-ons.
86 | ##
87 | ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
88 |
89 | # User-specific files
90 | *.rsuser
91 | *.suo
92 | *.user
93 | *.userosscache
94 | *.sln.docstates
95 |
96 | # User-specific files (MonoDevelop/Xamarin Studio)
97 | *.userprefs
98 |
99 | # Mono auto generated files
100 | mono_crash.*
101 |
102 | # Build results
103 | [Dd]ebug/
104 | [Dd]ebugPublic/
105 | [Rr]elease/
106 | [Rr]eleases/
107 | x64/
108 | x86/
109 | [Ww][Ii][Nn]32/
110 | [Aa][Rr][Mm]/
111 | [Aa][Rr][Mm]64/
112 | bld/
113 | [Bb]in/
114 | [Oo]bj/
115 | [Ll]og/
116 | [Ll]ogs/
117 |
118 | # Visual Studio 2015/2017 cache/options directory
119 | .vs/
120 | # Uncomment if you have tasks that create the project's static files in wwwroot
121 | #wwwroot/
122 |
123 | # Visual Studio 2017 auto generated files
124 | Generated\ Files/
125 |
126 | # MSTest test Results
127 | [Tt]est[Rr]esult*/
128 | [Bb]uild[Ll]og.*
129 |
130 | # NUnit
131 | *.VisualState.xml
132 | TestResult.xml
133 | nunit-*.xml
134 |
135 | # Build Results of an ATL Project
136 | [Dd]ebugPS/
137 | [Rr]eleasePS/
138 | dlldata.c
139 |
140 | # Benchmark Results
141 | BenchmarkDotNet.Artifacts/
142 |
143 | # .NET Core
144 | project.lock.json
145 | project.fragment.lock.json
146 | artifacts/
147 |
148 | # ASP.NET Scaffolding
149 | ScaffoldingReadMe.txt
150 |
151 | # StyleCop
152 | StyleCopReport.xml
153 |
154 | # Files built by Visual Studio
155 | *_i.c
156 | *_p.c
157 | *_h.h
158 | *.ilk
159 | *.meta
160 | *.obj
161 | *.iobj
162 | *.pch
163 | *.pdb
164 | *.ipdb
165 | *.pgc
166 | *.pgd
167 | *.rsp
168 | *.sbr
169 | *.tlb
170 | *.tli
171 | *.tlh
172 | *.tmp
173 | *.tmp_proj
174 | *_wpftmp.csproj
175 | *.log
176 | *.tlog
177 | *.vspscc
178 | *.vssscc
179 | .builds
180 | *.pidb
181 | *.svclog
182 | *.scc
183 |
184 | # Chutzpah Test files
185 | _Chutzpah*
186 |
187 | # Visual C++ cache files
188 | ipch/
189 | *.aps
190 | *.ncb
191 | *.opendb
192 | *.opensdf
193 | *.sdf
194 | *.cachefile
195 | *.VC.db
196 | *.VC.VC.opendb
197 |
198 | # Visual Studio profiler
199 | *.psess
200 | *.vsp
201 | *.vspx
202 | *.sap
203 |
204 | # Visual Studio Trace Files
205 | *.e2e
206 |
207 | # TFS 2012 Local Workspace
208 | $tf/
209 |
210 | # Guidance Automation Toolkit
211 | *.gpState
212 |
213 | # ReSharper is a .NET coding add-in
214 | _ReSharper*/
215 | *.[Rr]e[Ss]harper
216 | *.DotSettings.user
217 |
218 | # TeamCity is a build add-in
219 | _TeamCity*
220 |
221 | # DotCover is a Code Coverage Tool
222 | *.dotCover
223 |
224 | # AxoCover is a Code Coverage Tool
225 | .axoCover/*
226 | !.axoCover/settings.json
227 |
228 | # Coverlet is a free, cross platform Code Coverage Tool
229 | coverage*.json
230 | coverage*.xml
231 | coverage*.info
232 |
233 | # Visual Studio code coverage results
234 | *.coverage
235 | *.coveragexml
236 |
237 | # NCrunch
238 | _NCrunch_*
239 | .*crunch*.local.xml
240 | nCrunchTemp_*
241 |
242 | # MightyMoose
243 | *.mm.*
244 | AutoTest.Net/
245 |
246 | # Web workbench (sass)
247 | .sass-cache/
248 |
249 | # Installshield output folder
250 | [Ee]xpress/
251 |
252 | # DocProject is a documentation generator add-in
253 | DocProject/buildhelp/
254 | DocProject/Help/*.HxT
255 | DocProject/Help/*.HxC
256 | DocProject/Help/*.hhc
257 | DocProject/Help/*.hhk
258 | DocProject/Help/*.hhp
259 | DocProject/Help/Html2
260 | DocProject/Help/html
261 |
262 | # Click-Once directory
263 | publish/
264 |
265 | # Publish Web Output
266 | *.[Pp]ublish.xml
267 | *.azurePubxml
268 | # Note: Comment the next line if you want to checkin your web deploy settings,
269 | # but database connection strings (with potential passwords) will be unencrypted
270 | *.pubxml
271 | *.publishproj
272 |
273 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
274 | # checkin your Azure Web App publish settings, but sensitive information contained
275 | # in these scripts will be unencrypted
276 | PublishScripts/
277 |
278 | # NuGet Packages
279 | *.nupkg
280 | # NuGet Symbol Packages
281 | *.snupkg
282 | # The packages folder can be ignored because of Package Restore
283 | **/[Pp]ackages/*
284 | # except build/, which is used as an MSBuild target.
285 | !**/[Pp]ackages/build/
286 | # Uncomment if necessary however generally it will be regenerated when needed
287 | #!**/[Pp]ackages/repositories.config
288 | # NuGet v3's project.json files produces more ignorable files
289 | *.nuget.props
290 | *.nuget.targets
291 |
292 | # Microsoft Azure Build Output
293 | csx/
294 | *.build.csdef
295 |
296 | # Microsoft Azure Emulator
297 | ecf/
298 | rcf/
299 |
300 | # Windows Store app package directories and files
301 | AppPackages/
302 | BundleArtifacts/
303 | Package.StoreAssociation.xml
304 | _pkginfo.txt
305 | *.appx
306 | *.appxbundle
307 | *.appxupload
308 |
309 | # Visual Studio cache files
310 | # files ending in .cache can be ignored
311 | *.[Cc]ache
312 | # but keep track of directories ending in .cache
313 | !?*.[Cc]ache/
314 |
315 | # Others
316 | ClientBin/
317 | ~$*
318 | *~
319 | *.dbmdl
320 | *.dbproj.schemaview
321 | *.jfm
322 | *.pfx
323 | *.publishsettings
324 | orleans.codegen.cs
325 |
326 | # Including strong name files can present a security risk
327 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
328 | #*.snk
329 |
330 | # Since there are multiple workflows, uncomment next line to ignore bower_components
331 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
332 | #bower_components/
333 |
334 | # RIA/Silverlight projects
335 | Generated_Code/
336 |
337 | # Backup & report files from converting an old project file
338 | # to a newer Visual Studio version. Backup files are not needed,
339 | # because we have git ;-)
340 | _UpgradeReport_Files/
341 | Backup*/
342 | UpgradeLog*.XML
343 | UpgradeLog*.htm
344 | ServiceFabricBackup/
345 | *.rptproj.bak
346 |
347 | # SQL Server files
348 | *.mdf
349 | *.ldf
350 | *.ndf
351 |
352 | # Business Intelligence projects
353 | *.rdl.data
354 | *.bim.layout
355 | *.bim_*.settings
356 | *.rptproj.rsuser
357 | *- [Bb]ackup.rdl
358 | *- [Bb]ackup ([0-9]).rdl
359 | *- [Bb]ackup ([0-9][0-9]).rdl
360 |
361 | # Microsoft Fakes
362 | FakesAssemblies/
363 |
364 | # GhostDoc plugin setting file
365 | *.GhostDoc.xml
366 |
367 | # Node.js Tools for Visual Studio
368 | .ntvs_analysis.dat
369 | node_modules/
370 |
371 | # Visual Studio 6 build log
372 | *.plg
373 |
374 | # Visual Studio 6 workspace options file
375 | *.opt
376 |
377 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
378 | *.vbw
379 |
380 | # Visual Studio 6 auto-generated project file (contains which files were open etc.)
381 | *.vbp
382 |
383 | # Visual Studio 6 workspace and project file (working project files containing files to include in project)
384 | *.dsw
385 | *.dsp
386 |
387 | # Visual Studio 6 technical files
388 |
389 | # Visual Studio LightSwitch build output
390 | **/*.HTMLClient/GeneratedArtifacts
391 | **/*.DesktopClient/GeneratedArtifacts
392 | **/*.DesktopClient/ModelManifest.xml
393 | **/*.Server/GeneratedArtifacts
394 | **/*.Server/ModelManifest.xml
395 | _Pvt_Extensions
396 |
397 | # Paket dependency manager
398 | .paket/paket.exe
399 | paket-files/
400 |
401 | # FAKE - F# Make
402 | .fake/
403 |
404 | # CodeRush personal settings
405 | .cr/personal
406 |
407 | # Python Tools for Visual Studio (PTVS)
408 | __pycache__/
409 | *.pyc
410 |
411 | # Cake - Uncomment if you are using it
412 | # tools/**
413 | # !tools/packages.config
414 |
415 | # Tabs Studio
416 | *.tss
417 |
418 | # Telerik's JustMock configuration file
419 | *.jmconfig
420 |
421 | # BizTalk build output
422 | *.btp.cs
423 | *.btm.cs
424 | *.odx.cs
425 | *.xsd.cs
426 |
427 | # OpenCover UI analysis results
428 | OpenCover/
429 |
430 | # Azure Stream Analytics local run output
431 | ASALocalRun/
432 |
433 | # MSBuild Binary and Structured Log
434 | *.binlog
435 |
436 | # NVidia Nsight GPU debugger configuration file
437 | *.nvuser
438 |
439 | # MFractors (Xamarin productivity tool) working folder
440 | .mfractor/
441 |
442 | # Local History for Visual Studio
443 | .localhistory/
444 |
445 | # Visual Studio History (VSHistory) files
446 | .vshistory/
447 |
448 | # BeatPulse healthcheck temp database
449 | healthchecksdb
450 |
451 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
452 | MigrationBackup/
453 |
454 | # Ionide (cross platform F# VS Code tools) working folder
455 | .ionide/
456 |
457 | # Fody - auto-generated XML schema
458 | FodyWeavers.xsd
459 |
460 | # VS Code files for those working on multiple tools
461 | .vscode/*
462 | !.vscode/settings.json
463 | !.vscode/tasks.json
464 | !.vscode/launch.json
465 | !.vscode/extensions.json
466 | *.code-workspace
467 |
468 | # Local History for Visual Studio Code
469 | .history/
470 |
471 | # Windows Installer files from build outputs
472 | *.cab
473 | *.msi
474 | *.msix
475 | *.msm
476 | *.msp
477 |
478 | # JetBrains Rider
479 | *.sln.iml
480 |
481 | ### VisualStudio Patch ###
482 | # Additional files built by Visual Studio
483 |
484 | # End of https://www.toptal.com/developers/gitignore/api/visualstudio,rider
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "src/libs/repo/navigationbar"]
2 | path = src/libs/repo/navigationbar
3 | url = https://github.com/lukewire129/navigationbar-avaloniaui.git
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AvaloniaUI Enhanced BottomNavigationBar with Page Navigation
2 | ### Introduction
3 | This project is an extended version of the [BottomNavigationBar](https://github.com/lukewire129/AvaloniaNavigationBar) implemented using AvaloniaUI. In this version, we have added page navigation capabilities to the existing bottom navigation bar, allowing users to navigate through the application more efficiently.
4 |
5 | ### Key Features
6 | - **Page Navigation Capabilities**: Seamlessly transition to associated pages when a user selects an item from the bottom navigation bar.
7 | - **Enhanced User Experience**: The page transitions are smooth and intuitive, greatly improving user interaction.
8 | - **Flexible Configuration**: Developers can easily add or modify pages and navigation bar items as needed.
9 |
10 | ### How It Works
11 | #### Page Transition Mechanism
12 | This project uses the ListBox control to manage pages linked to each navigation bar item. When a user selects an item, the corresponding page is activated and displayed.
13 |
14 | ### Customization and Styling
15 | The styling of pages and the navigation bar can be customized using AvaloniaUI’s styling system, maintaining consistency with the overall design of the application.
16 |
17 | ### Getting Started
18 | #### Prerequisites
19 | - AvaloniaUI version 11.x.x or higher
20 | - .NET Core 3.1 or higher
21 | #### Installation and Execution
22 | 1. Clone this repository & submodule
23 | ```
24 | git clone --recurse-submodules https://github.com/lukewire129/AvaloniaNavigationPage.git
25 | ```
26 |
27 | ### Contribution
28 | Contributions to this project are welcome. You can contribute in various ways, including enhancing page navigation features, design improvements, and performance optimization.
29 |
30 |
31 | https://github.com/lukewire129/AvaloniaNavigationPage/assets/54387261/cf11df1a-dddb-4860-a487-5b5defa4a084
32 |
33 |
--------------------------------------------------------------------------------
/README_kor.md:
--------------------------------------------------------------------------------
1 | # AvaloniaUI Enhanced BottomNavigationBar with Page Navigation
2 | ### Introduction
3 | 이 프로젝트는 AvaloniaUI를 사용하여 구현된 [BottomNavigationBar](https://github.com/lukewire129/AvaloniaNavigationBar)의 확장 버전입니다. 본 버전에서는 기존의 하단 내비게이션 바 기능에 페이지 전환 기능을 추가하여, 사용자들이 더욱 효율적으로 애플리케이션 내에서 내비게이션 할 수 있도록 합니다.
4 |
5 | ### Key Features
6 | - **페이지 전환 기능**: 사용자가 하단 내비게이션 바의 항목을 선택할 때, 연관된 페이지로 자연스럽게 전환됩니다.
7 | - **고도의 사용자 경험**: 페이지 전환은 매끄럽고 직관적이어서, 사용자 경험을 크게 향상시킵니다.
8 | - **유연한 구성**: 개발자는 필요에 따라 페이지와 내비게이션 바 항목을 쉽게 추가하거나 변경할 수 있습니다.
9 | ### How It Works
10 | #### 페이지 전환 메커니즘
11 | 이 프로젝트는 ListBox 컨트롤을 사용하여 각 내비게이션 바 항목에 연결된 페이지를 관리합니다. 사용자가 항목을 선택하면, 관련된 페이지가 활성화되어 화면에 표시됩니다.
12 |
13 | ### 사용자 정의 및 스타일링
14 | 페이지와 내비게이션 바의 스타일링은 AvaloniaUI의 스타일링 시스템을 통해 사용자 정의가 가능합니다. 이를 통해 애플리케이션의 전체적인 디자인과 일관성을 유지할 수 있습니다.
15 |
16 | ### Getting Started
17 | #### Prerequisites
18 | - AvaloniaUI 버전 11.x.x 이상
19 | - .NET Core 3.1 이상
20 | ### 설치 및 실행 방법
21 | (기존과 동일한 설치 및 실행 방법을 제공)
22 |
23 | ### Contribution
24 | 이 프로젝트는 커뮤니티의 기여를 환영합니다. 페이지 전환 기능, 디자인 개선, 성능 최적화 등 다양한 방면에서 기여할 수 있습니다.
25 |
26 | https://github.com/lukewire129/AvaloniaNavigationPage/assets/54387261/cf11df1a-dddb-4860-a487-5b5defa4a084
27 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # 디폴트 무시된 파일
2 | /shelf/
3 | /workspace.xml
4 | # Rider에서 무시된 파일
5 | /modules.xml
6 | /projectSettingsUpdater.xml
7 | /.idea.AvaloniaNavigationPage.iml
8 | /contentModel.xml
9 | # 에디터 기반 HTTP 클라이언트 요청
10 | /httpRequests/
11 | # Datasource local storage ignored files
12 | /dataSources/
13 | /dataSources.local.xml
14 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/.name:
--------------------------------------------------------------------------------
1 | AvaloniaNavigationPage
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/avalonia.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
19 |
20 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/aws.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_activity_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_annotation_annotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_annotation_annotation_experimental.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_annotation_annotation_jvm.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_appcompat_appcompat.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_appcompat_appcompat_resources.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_arch_core_core_common.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_arch_core_core_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_collection_collection.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_collection_collection_jvm.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_concurrent_concurrent_futures.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_core_core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_core_core_ktx.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_cursoradapter_cursoradapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_customview_customview.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_documentfile_documentfile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_drawerlayout_drawerlayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_emoji2_emoji2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_fragment_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_interpolator_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_common.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_process.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_loader_loader.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_profileinstaller_profileinstaller.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_savedstate_savedstate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_startup_startup_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_tracing_tracing.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_vectordrawable_vectordrawable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/androidx_viewpager_viewpager.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/guava_listenablefuture.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_annotations_24_0_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_annotations_24_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_8_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_8_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/.idea/.idea.AvaloniaNavigationPage/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # 디폴트 무시된 파일
2 | /shelf/
3 | /workspace.xml
4 | # Rider에서 무시된 파일
5 | /projectSettingsUpdater.xml
6 | /.idea.NavigationPage.iml
7 | /modules.xml
8 | /contentModel.xml
9 | # 에디터 기반 HTTP 클라이언트 요청
10 | /httpRequests/
11 | # Datasource local storage ignored files
12 | /dataSources/
13 | /dataSources.local.xml
14 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/avalonia.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/deploymentTargetSelector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_activity_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_annotation_annotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_annotation_annotation_experimental.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_annotation_annotation_jvm.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_appcompat_appcompat.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_appcompat_appcompat_resources.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_arch_core_core_common.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_arch_core_core_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_collection_collection.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_collection_collection_jvm.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_concurrent_concurrent_futures.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_core_core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_core_core_ktx.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_core_core_splashscreen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_cursoradapter_cursoradapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_customview_customview.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_documentfile_documentfile.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_drawerlayout_drawerlayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_emoji2_emoji2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_fragment_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_interpolator_interpolator.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_common.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_process.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_loader_loader.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_profileinstaller_profileinstaller.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_savedstate_savedstate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_startup_startup_runtime.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_tracing_tracing.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_vectordrawable_vectordrawable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/androidx_viewpager_viewpager.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/guava_listenablefuture.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_annotations_24_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_2_0_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/NavigationPage/.idea/.idea.NavigationPage/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/NavigationPage/AvaloniaNavigationView/AvaloniaNavigationView.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net8.0
5 | enable
6 | enable
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/NavigationPage/AvaloniaNavigationView/Interfaces/INavigationViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace AvaloniaNavigationView;
4 |
5 | public interface INavigationViewModel
6 | {
7 | public List NaviTapVM { get; set; }
8 | }
--------------------------------------------------------------------------------
/src/NavigationPage/AvaloniaNavigationView/NavigationView.axaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
18 |
--------------------------------------------------------------------------------
/src/NavigationPage/AvaloniaNavigationView/NavigationView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Animation;
3 | using Avalonia.Controls;
4 | using Avalonia.Controls.Primitives;
5 | using AvaloniaNavigationBar.Interface;
6 | using AvaloniaNavigationView.ViewModel;
7 |
8 | namespace AvaloniaNavigationView;
9 |
10 | public class NavigationView : TemplatedControl
11 | {
12 | public static readonly DirectProperty NavigtorContentProperty =
13 | AvaloniaProperty.RegisterDirect(
14 | nameof(NavigtorContent),
15 | o => o,
16 | (o, v) => o = v);
17 |
18 | private ListBox _navigtorContent;
19 |
20 | private readonly IList _pagesitems = new List();
21 | public IList PageItems =>_pagesitems;
22 | public ListBox NavigtorContent
23 | {
24 | get => _navigtorContent;
25 | set => SetAndRaise(NavigtorContentProperty, ref _navigtorContent, value);
26 | }
27 |
28 | private int currentIndx = 0;
29 |
30 | private void ChangeContent(int index)
31 | {
32 | var naviVVM = (INavigationViewModel)this.DataContext;
33 | var naviTap = (NavigationViewModel)naviVVM.NaviTapVM[index];
34 |
35 | PageItems[index].DataContext = naviTap;
36 | if (this.PART_Content.Content == null)
37 | {
38 | this.PART_Content.Content = PageItems[index];
39 | currentIndx = index;
40 | return;
41 | }
42 |
43 | var pageSlide = new PageSlide(new TimeSpan(0, 0, 0, 0, 300));
44 | bool isForwad = currentIndx > index? false : true;
45 |
46 | pageSlide.Start((Visual)this.PART_Content.Content, PageItems[index],isForwad, new CancellationToken());
47 | this.PART_Content.Content = PageItems[index];
48 | currentIndx = index;
49 | }
50 |
51 | public Action VMChange { get; set; }
52 |
53 | private ContentControl PART_Content;
54 | private ContentControl PART_Navigator;
55 |
56 | protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
57 | {
58 | base.OnApplyTemplate(e);
59 |
60 | PART_Content = e.NameScope.Get("PART_Content");
61 | PART_Navigator = e.NameScope.Get("PART_Navigator");
62 |
63 | this.PART_Navigator.Content = NavigtorContent;
64 |
65 | ((INavigationAdapter)NavigtorContent).ChangedSelectedIndex += (i =>
66 | {
67 | if (i < 0) return;
68 | if (PART_Content == null) return;
69 |
70 | ChangeContent(i);
71 | });
72 | }
73 | }
--------------------------------------------------------------------------------
/src/NavigationPage/AvaloniaNavigationView/ViewModel/NavigationViewModel.cs:
--------------------------------------------------------------------------------
1 | using ReactiveUI;
2 |
3 | namespace AvaloniaNavigationView.ViewModel;
4 |
5 | public class NavigationViewModel : ReactiveObject
6 | {
7 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/DemoApp.Android.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net8.0-android
5 | 21
6 | enable
7 | com.CompanyName.DemoApp
8 | 1
9 | 1.0
10 | apk
11 | False
12 | DemoApp.Android
13 |
14 |
15 |
16 |
17 | Resources\drawable\Icon.png
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lukewire129/AvaloniaNavigationPage/49411423468ed7d56720b4e601b1a7cac9e89dee/src/NavigationPage/DemoApp.Android/Icon.png
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Avalonia;
4 | using Avalonia.Android;
5 | using Avalonia.ReactiveUI;
6 |
7 | namespace DemoApp.Android;
8 |
9 | [Activity(
10 | Label = "DemoApp.Android",
11 | Theme = "@style/MyTheme.NoActionBar",
12 | Icon = "@drawable/icon",
13 | MainLauncher = true,
14 | ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)]
15 | public class MainActivity : AvaloniaMainActivity
16 | {
17 | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
18 | {
19 | return base.CustomizeAppBuilder(builder)
20 | .WithInterFont()
21 | .UseReactiveUI();
22 | }
23 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.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.axml),
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/
12 | icon.png
13 |
14 | layout/
15 | main.axml
16 |
17 | values/
18 | strings.xml
19 |
20 | In order to get the build system to recognize Android resources, set the build action to
21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
22 | instead operate on resource IDs. When you compile an Android application that uses resources,
23 | the build system will package the resources for distribution and generate a class called "R"
24 | (this is an Android convention) that contains the tokens for each one of the resources
25 | included. For example, for the above Resources layout, this is what the R class would expose:
26 |
27 | public class R {
28 | public class drawable {
29 | public const int icon = 0x123;
30 | }
31 |
32 | public class layout {
33 | public const int main = 0x456;
34 | }
35 |
36 | public class strings {
37 | public const int first_string = 0xabc;
38 | public const int second_string = 0xbcd;
39 | }
40 | }
41 |
42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first
44 | string in the dictionary file values/strings.xml.
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/drawable-night-v31/avalonia_anim.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
11 |
15 |
16 |
20 |
25 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
42 |
43 |
44 |
45 |
46 |
53 |
54 |
55 |
56 |
57 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/drawable-v31/avalonia_anim.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
11 |
15 |
16 |
21 |
27 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
46 |
47 |
48 |
49 |
50 |
57 |
58 |
59 |
60 |
61 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/drawable/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #212121
4 |
5 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/values-v31/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
17 |
21 |
22 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
5 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/DemoApp.Browser.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net8.0-browser
4 | Exe
5 | true
6 | DemoApp.Browser
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/Program.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.Versioning;
2 | using System.Threading.Tasks;
3 | using Avalonia;
4 | using Avalonia.Browser;
5 | using DemoApp;
6 |
7 | [assembly: SupportedOSPlatform("browser")]
8 |
9 | internal sealed partial class Program
10 | {
11 | private static Task Main(string[] args) => BuildAvaloniaApp()
12 | .WithInterFont()
13 | .StartBrowserAppAsync("out");
14 |
15 | public static AppBuilder BuildAvaloniaApp()
16 | => AppBuilder.Configure();
17 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Runtime.Versioning.SupportedOSPlatform("browser")]
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "DemoApp.Browser": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "https://localhost:7169;http://localhost:5235",
10 | "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "wasmHostProperties": {
3 | "perHostConfig": [
4 | {
5 | "name": "browser",
6 | "host": "browser"
7 | }
8 | ]
9 | }
10 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/wwwroot/Logo.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/wwwroot/app.css:
--------------------------------------------------------------------------------
1 | /* HTML styles for the splash screen */
2 | .avalonia-splash {
3 | position: absolute;
4 | height: 100%;
5 | width: 100%;
6 | background: white;
7 | font-family: 'Outfit', sans-serif;
8 | justify-content: center;
9 | align-items: center;
10 | display: flex;
11 | pointer-events: none;
12 | }
13 |
14 | /* Light theme styles */
15 | @media (prefers-color-scheme: light) {
16 | .avalonia-splash {
17 | background: white;
18 | }
19 |
20 | .avalonia-splash h2 {
21 | color: #1b2a4e;
22 | }
23 |
24 | .avalonia-splash a {
25 | color: #0D6EFD;
26 | }
27 | }
28 |
29 | @media (prefers-color-scheme: dark) {
30 | .avalonia-splash {
31 | background: #1b2a4e;
32 | }
33 |
34 | .avalonia-splash h2 {
35 | color: white;
36 | }
37 |
38 | .avalonia-splash a {
39 | color: white;
40 | }
41 | }
42 |
43 | .avalonia-splash h2 {
44 | font-weight: 400;
45 | font-size: 1.5rem;
46 | }
47 |
48 | .avalonia-splash a {
49 | text-decoration: none;
50 | font-size: 2.5rem;
51 | display: block;
52 | }
53 |
54 | .avalonia-splash.splash-close {
55 | transition: opacity 200ms, display 200ms;
56 | display: none;
57 | opacity: 0;
58 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lukewire129/AvaloniaNavigationPage/49411423468ed7d56720b4e601b1a7cac9e89dee/src/NavigationPage/DemoApp.Browser/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/wwwroot/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DemoApp.Browser
6 |
7 |
8 |
9 |
10 |
11 |
12 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Browser/wwwroot/main.js:
--------------------------------------------------------------------------------
1 | import { dotnet } from './_framework/dotnet.js'
2 |
3 | const is_browser = typeof window != "undefined";
4 | if (!is_browser) throw new Error(`Expected to be running in a browser`);
5 |
6 | const dotnetRuntime = await dotnet
7 | .withDiagnosticTracing(false)
8 | .withApplicationArgumentsFromQuery()
9 | .create();
10 |
11 | const config = dotnetRuntime.getConfig();
12 |
13 | await dotnetRuntime.runMain(config.mainAssemblyName, [globalThis.location.href]);
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Desktop/DemoApp.Desktop.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 |
6 | net8.0
7 | enable
8 | true
9 | DemoApp.Desktop
10 |
11 |
12 |
13 | app.manifest
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Desktop/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia;
3 | using Avalonia.ReactiveUI;
4 |
5 | namespace DemoApp.Desktop;
6 |
7 | sealed class Program
8 | {
9 | // Initialization code. Don't use any Avalonia, third-party APIs or any
10 | // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
11 | // yet and stuff might break.
12 | [STAThread]
13 | public static void Main(string[] args) => BuildAvaloniaApp()
14 | .StartWithClassicDesktopLifetime(args);
15 |
16 | // Avalonia configuration, don't remove; also used by visual designer.
17 | public static AppBuilder BuildAvaloniaApp()
18 | => AppBuilder.Configure()
19 | .UsePlatformDetect()
20 | .WithInterFont()
21 | .LogToTrace()
22 | .UseReactiveUI();
23 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.Desktop/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using UIKit;
3 | using Avalonia;
4 | using Avalonia.Controls;
5 | using Avalonia.iOS;
6 | using Avalonia.Media;
7 | using Avalonia.ReactiveUI;
8 |
9 | namespace DemoApp.iOS;
10 |
11 | // The UIApplicationDelegate for the application. This class is responsible for launching the
12 | // User Interface of the application, as well as listening (and optionally responding) to
13 | // application events from iOS.
14 | [Register("AppDelegate")]
15 | #pragma warning disable CA1711 // Identifiers should not have incorrect suffix
16 | public partial class AppDelegate : AvaloniaAppDelegate
17 | #pragma warning restore CA1711 // Identifiers should not have incorrect suffix
18 | {
19 | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
20 | {
21 | return base.CustomizeAppBuilder(builder)
22 | .WithInterFont()
23 | .UseReactiveUI();
24 | }
25 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/DemoApp.iOS.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net8.0-ios
5 | 13.0
6 | enable
7 | DemoApp.iOS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | DemoApp
7 | CFBundleIdentifier
8 | companyName.DemoApp
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1.0
13 | LSRequiresIPhoneOS
14 |
15 | MinimumOSVersion
16 | 13.0
17 | UIDeviceFamily
18 |
19 | 1
20 | 2
21 |
22 | UILaunchStoryboardName
23 | LaunchScreen
24 | UIRequiredDeviceCapabilities
25 |
26 | armv7
27 |
28 | UISupportedInterfaceOrientations
29 |
30 | UIInterfaceOrientationPortrait
31 | UIInterfaceOrientationPortraitUpsideDown
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace DemoApp.iOS;
4 |
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, typeof(AppDelegate));
13 | }
14 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp.iOS/Resources/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/App.axaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/App.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls.ApplicationLifetimes;
3 | using Avalonia.Markup.Xaml;
4 | using DemoApp.ViewModels;
5 | using DemoApp.Views;
6 | using ReactiveUI;
7 | using Splat;
8 |
9 | namespace DemoApp;
10 |
11 | public partial class App : Application
12 | {
13 | public override void Initialize()
14 | {
15 | AvaloniaXamlLoader.Load(this);
16 | }
17 |
18 | public override void OnFrameworkInitializationCompleted()
19 | {
20 | if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
21 | {
22 | desktop.MainWindow = new MainWindow
23 | {
24 | DataContext = new MainViewModel()
25 | };
26 | }
27 | else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform)
28 | {
29 | singleViewPlatform.MainView = new MainView
30 | {
31 | DataContext = new MainViewModel()
32 | };
33 | }
34 | base.OnFrameworkInitializationCompleted();
35 | }
36 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lukewire129/AvaloniaNavigationPage/49411423468ed7d56720b4e601b1a7cac9e89dee/src/NavigationPage/DemoApp/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/DemoApp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | net8.0
4 | enable
5 | latest
6 | false
7 | DemoApp
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | AContent.axaml
26 | Code
27 |
28 |
29 | BContent.axaml
30 | Code
31 |
32 |
33 | CContent.axaml
34 | Code
35 |
36 |
37 | DContent.axaml
38 | Code
39 |
40 |
41 | EContent.axaml
42 | Code
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewLocator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Controls;
3 | using Avalonia.Controls.Templates;
4 | using AvaloniaNavigationView.ViewModel;
5 |
6 | namespace DemoApp;
7 |
8 | public class ViewLocator : IDataTemplate
9 | {
10 | public Control? Build(object? data)
11 | {
12 | if (data is null)
13 | return null;
14 |
15 | var name = data.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal);
16 | var type = Type.GetType(name);
17 |
18 | if (type != null)
19 | {
20 | var control = (Control)Activator.CreateInstance(type)!;
21 | control.DataContext = data;
22 | return control;
23 | }
24 |
25 | return new TextBlock { Text = "Not Found: " + name };
26 | }
27 |
28 | public bool Match(object? data)
29 | {
30 | return data is NavigationViewModel;
31 | }
32 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/AContentViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class AContentViewModel : NavigationViewModel
6 | {
7 | public string Title { get; } = "Microsoft";
8 | public AContentViewModel()
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/BContentViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class BContentViewModel : NavigationViewModel
6 | {
7 | public string Title { get; } = "Apple";
8 | public BContentViewModel()
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/CContentViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class CContentViewModel : NavigationViewModel
6 | {
7 | public string Title { get; } = "Google";
8 | public CContentViewModel()
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/DContentViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class DContentViewModel : NavigationViewModel
6 | {
7 | public string Title { get; } = "Facebook";
8 | public DContentViewModel()
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/EContentViewModel.cs:
--------------------------------------------------------------------------------
1 | using AvaloniaNavigationView.ViewModel;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class EContentViewModel : NavigationViewModel
6 | {
7 | public string Title { get; } = "Instagram";
8 | public EContentViewModel()
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/MainViewModel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using AvaloniaNavigationView;
3 | using AvaloniaNavigationView.ViewModel;
4 |
5 | namespace DemoApp.ViewModels;
6 |
7 | public class MainViewModel : ViewModelBase,INavigationViewModel
8 | {
9 | #pragma warning disable CA1822 // Mark members as static
10 | public string Greeting => "Welcome to Avalonia!";
11 | #pragma warning restore CA1822 // Mark members as static
12 | public MainViewModel()
13 | {
14 | NaviTapVM = new List()
15 | {
16 | new AContentViewModel(),
17 | new BContentViewModel(),
18 | new CContentViewModel(),
19 | new DContentViewModel(),
20 | new EContentViewModel(),
21 | };
22 | }
23 |
24 | public List NaviTapVM { get; set; }
25 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using ReactiveUI;
2 |
3 | namespace DemoApp.ViewModels;
4 |
5 | public class ViewModelBase :ReactiveObject
6 | {
7 |
8 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/AContentView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/AContentView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace DemoApp.Views;
4 |
5 | public partial class AContentView : UserControl
6 | {
7 | public AContentView()
8 | {
9 | InitializeComponent();
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/BContentView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/BContentView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace DemoApp.Views;
6 |
7 | public partial class BContentView : UserControl
8 | {
9 | public BContentView()
10 | {
11 | InitializeComponent();
12 | }
13 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/CContentView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/CContentView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace DemoApp.Views;
6 |
7 | public partial class CContentView : UserControl
8 | {
9 | public CContentView()
10 | {
11 | InitializeComponent();
12 | }
13 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/DContentView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/DContentView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace DemoApp.Views;
6 |
7 | public partial class DContentView : UserControl
8 | {
9 | public DContentView()
10 | {
11 | InitializeComponent();
12 | }
13 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/EContentView.axaml:
--------------------------------------------------------------------------------
1 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/EContentView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace DemoApp.Views;
6 |
7 | public partial class EContentView : UserControl
8 | {
9 | public EContentView()
10 | {
11 | InitializeComponent();
12 | }
13 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/MainView.axaml:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/MainView.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace DemoApp.Views;
4 |
5 | public partial class MainView : UserControl
6 | {
7 | public MainView()
8 | {
9 | InitializeComponent();
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/MainWindow.axaml:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/NavigationPage/DemoApp/Views/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace DemoApp.Views;
4 |
5 | public partial class MainWindow : Window
6 | {
7 | public MainWindow()
8 | {
9 | InitializeComponent();
10 | }
11 | }
--------------------------------------------------------------------------------
/src/NavigationPage/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | enable
4 | 11.0.7
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/NavigationPage/NavigationPage.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.3.32811.315
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoApp", "DemoApp\DemoApp.csproj", "{EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}"
7 | EndProject
8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoApp.Desktop", "DemoApp.Desktop\DemoApp.Desktop.csproj", "{ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}"
9 | EndProject
10 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoApp.Browser", "DemoApp.Browser\DemoApp.Browser.csproj", "{1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}"
11 | EndProject
12 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoApp.iOS", "DemoApp.iOS\DemoApp.iOS.csproj", "{EBD9022F-BC83-4846-9A11-6F7F3772DC64}"
13 | EndProject
14 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DemoApp.Android", "DemoApp.Android\DemoApp.Android.csproj", "{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}"
15 | EndProject
16 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3DA99C4E-89E3-4049-9C22-0A7EC60D83D8}"
17 | ProjectSection(SolutionItems) = preProject
18 | Directory.Build.props = Directory.Build.props
19 | EndProjectSection
20 | EndProject
21 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaNavigationBar", "..\libs\repo\navigationbar\src\AvaloniaNavigationBar\AvaloniaNavigationBar.csproj", "{FD548DDC-178F-439D-A515-ADCCD0AECAB3}"
22 | EndProject
23 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvaloniaNavigationView", "AvaloniaNavigationView\AvaloniaNavigationView.csproj", "{745713D5-4D9D-42DE-80EB-63563A0E27F8}"
24 | EndProject
25 | Global
26 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
27 | Debug|Any CPU = Debug|Any CPU
28 | Release|Any CPU = Release|Any CPU
29 | EndGlobalSection
30 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
31 | {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
32 | {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.Build.0 = Debug|Any CPU
33 | {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.ActiveCfg = Release|Any CPU
34 | {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.Build.0 = Release|Any CPU
35 | {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
36 | {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.Build.0 = Debug|Any CPU
37 | {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.ActiveCfg = Release|Any CPU
38 | {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.Build.0 = Release|Any CPU
39 | {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
40 | {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
41 | {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
42 | {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.Build.0 = Release|Any CPU
43 | {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
44 | {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.Build.0 = Debug|Any CPU
45 | {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.ActiveCfg = Release|Any CPU
46 | {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.Build.0 = Release|Any CPU
47 | {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
48 | {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.Build.0 = Debug|Any CPU
49 | {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.ActiveCfg = Release|Any CPU
50 | {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.Build.0 = Release|Any CPU
51 | {FD548DDC-178F-439D-A515-ADCCD0AECAB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
52 | {FD548DDC-178F-439D-A515-ADCCD0AECAB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
53 | {FD548DDC-178F-439D-A515-ADCCD0AECAB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
54 | {FD548DDC-178F-439D-A515-ADCCD0AECAB3}.Release|Any CPU.Build.0 = Release|Any CPU
55 | {745713D5-4D9D-42DE-80EB-63563A0E27F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
56 | {745713D5-4D9D-42DE-80EB-63563A0E27F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
57 | {745713D5-4D9D-42DE-80EB-63563A0E27F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
58 | {745713D5-4D9D-42DE-80EB-63563A0E27F8}.Release|Any CPU.Build.0 = Release|Any CPU
59 | EndGlobalSection
60 | GlobalSection(SolutionProperties) = preSolution
61 | HideSolutionNode = FALSE
62 | EndGlobalSection
63 | GlobalSection(ExtensibilityGlobals) = postSolution
64 | SolutionGuid = {83CB65B8-011F-4ED7-BCD3-A6CFA935EF7E}
65 | EndGlobalSection
66 | EndGlobal
67 |
--------------------------------------------------------------------------------