Skip to content
This repository has been archived by the owner on Apr 30, 2019. It is now read-only.

bendiknesbo/FreshMvvmExtensions

Repository files navigation

FreshMvvm Extensions

FreshMvvm makes developing Xamarin.Forms-apps easier, but creating a new Page and PageModel can be tiresome, when all the references has to be set up correctly, and in the correct folders.
Thus I created this Visual Studio Extension that creates a blank FreshBasePageModel and FreshBaseContentPage (with d:DataContext for Design-time binding) with the naming-convention that FreshMvvm uses.

Note: No longer being actively maintained.

This repo is no longer being actively maintained, but if anyone wants to continue the project or have small fixes, then feel free to get in contact or submit a pull-request.

How to install (Choose one)

  • From Visual Studio:
    • "Tools" -> "Extensions and Updates..." -> "Online"
    • Search for "FreshMvvm New Item Extensions"
  • From .vsix file: (Choose one)

How to use

  • Right-click the PCL-project-root -> "Add" -> "New Item..."
  • Select "Forms Blank FreshMvvm Page and PageModel"
  • Enter the name of the Page/Page model you want to create. ("Quote" becomes "QuotePageModel" and "QuotePage")
  • Click Add

And thats it!

Examples

Example output QuotePage.xaml:

<?xml version="1.0" encoding="utf-8" ?>
<freshMvvm:FreshBaseContentPage
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:freshMvvm="clr-namespace:FreshMvvm;assembly=FreshMvvm"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:pageModels="clr-namespace:MyProject.PageModels;assembly=MyProject"
    mc:Ignorable="d" d:DataContext="{d:DesignInstance pageModels:QuotePageModel}"
    x:Class="MyProject.Pages.QuotePage">
</freshMvvm:FreshBaseContentPage>

Example output QuotePage.xaml.cs:

using FreshMvvm;

namespace MyProject.Pages {
    public partial class QuotePage : FreshBaseContentPage {
        public QuotePage() {
            InitializeComponent();
        }
    }
}

Example output QuotePageModel.cs:

using FreshMvvm;

namespace MyProject.PageModels {
    public class QuotePageModel : FreshBasePageModel {

    }
}

Issues?

If you encounter any issues, have any feature requests or pull requests, please do not hesitate to submit them!
I have only tested with Microsoft Visual Studio Enterprise 2017.

Thanks

About

Extensions for mundane tasks with FreshMvvm

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages