<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>w8mvvm Wiki Rss Feed</title><link>https://w8mvvm.codeplex.com/</link><description>w8mvvm Wiki Rss Description</description><item><title>Updated Wiki: Introduction</title><link>http://w8mvvm.codeplex.com/wikipage?title=Introduction&amp;version=1</link><description>&lt;div class="wikidoc"&gt;You can find more information about MVVM in Internet. But here are the basics:
&lt;ol&gt;&lt;li&gt;MVVM means Model, View and View Model (view’s model).&lt;/li&gt;
&lt;li&gt;The MVVM pattern provides a clean separation between application&amp;#39;s user interface, its presentation logic, and its business logic and data by separating each into separate classes.&lt;/li&gt;
&lt;li&gt;The view&amp;#39;s responsibility is to define the structure and appearance of what the user sees on the screen. Ideally, the code-behind of a view contains only a constructor that calls the InitializeComponent method.&lt;/li&gt;
&lt;li&gt;The view model encapsulates the presentation logic and data for the view. There is no direct reference from the view model to the view. The view model defines public properties and commands that are used by the view to render the model.&lt;/li&gt;
&lt;li&gt;The model encapsulates business logic and data. The model should not contain any user task specific behavior or application logic.&lt;/li&gt;&lt;/ol&gt;
Windows Runtime allows defining the view by using XAML and its code behind. The mapping between view model public properties and UI can be defined by using data binding mechanisms.&lt;br /&gt;&lt;br /&gt;Our library helps you to:
&lt;ol&gt;&lt;li&gt;Define your views by using XAML only (no extra code behind).&lt;/li&gt;
&lt;li&gt;Implement view models that can be easily bound to views.&lt;/li&gt;&lt;/ol&gt;
It also extends Windows Runtime XAML abilities by providing some useful behaviors. So you do not have to write code behind in most common situations.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Mon, 18 Mar 2013 15:54:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Introduction 20130318035453P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://w8mvvm.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=Introduction&amp;referringTitle=Documentation"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;How to use (samples)
&lt;ul&gt;&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ViewModel&amp;referringTitle=Documentation"&gt;View models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=SimpleCommands&amp;referringTitle=Documentation"&gt;Simple commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingEventsAndCommands&amp;referringTitle=Documentation"&gt;Binding events and commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=CallAViewFromModel&amp;referringTitle=Documentation"&gt;Call a view from its model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=HandlePageNavigation&amp;referringTitle=Documentation"&gt;Handle page navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ScreenOrientation&amp;referringTitle=Documentation"&gt;Screen orientations&amp;#47;modes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextMenuBehavior&amp;referringTitle=Documentation"&gt;Context menu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextPopupBehavior&amp;referringTitle=Documentation"&gt;Context popup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingConverters&amp;referringTitle=Documentation"&gt;Binding converters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=EventTriggers&amp;referringTitle=Documentation"&gt;Event triggers for animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=PersistingNavigationState&amp;referringTitle=Documentation"&gt;Persisting navigation and page state&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Mon, 18 Mar 2013 15:51:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130318035158P</guid></item><item><title>Updated Wiki: HandlePageNavigation</title><link>http://w8mvvm.codeplex.com/wikipage?title=HandlePageNavigation&amp;version=5</link><description>&lt;div class="wikidoc"&gt;If you use Page-s in a Frame then you may want to handle Frame.Navigating and Navigated events in your pages&amp;#39; view models.&lt;br /&gt;&lt;br /&gt;Here is a sample root model of your application:&lt;br /&gt;&lt;pre&gt;
public class RootModel
{
    public RootModel()
    {
        NavigationState = new NavigationState();

        HomePageModel = new HomePageModel();
    }

    public NavigationState NavigationState { get; set; }

    public HomePageModel HomePageModel { get; set; }

    public bool CanGoBack { get { return NavigationState.CanGoBack; } }

    public void GoBack()
    {
        NavigationState.GoBack();            
    }

    public void GoToHomePage()
    {
        NavigationState.Navigate(typeof (HomePage));
    }
}
&lt;/pre&gt;&lt;br /&gt;Set the global DataContext in the Application derived class of your application:&lt;br /&gt;&lt;pre&gt;
sealed partial class App : Application
{
    ...
    public RootModel RootModel { get; private set; }

    protected override void OnLaunched(LaunchActivatedEventArgs args)
    {
        RootModel = new RootModel();

        var frame = new Frame { DataContext = RootModel };

        // Bind the NavigationState and the frame using the ElementBinder class.
        // You can also do this in XAML.
        ElementBinder.SetWrapper(frame, RootModel.NavigationState);

        Window.Current.Content = frame;
        Window.Current.Activate();

        RootModel.GoToHomePage();
    }
}
&lt;/pre&gt;&lt;br /&gt;The home page model that handles navigation events:&lt;br /&gt;&lt;pre&gt;
public class HomePageModel : PageModel // Or implement IPageModel.
{
    public override void OnNavigated()
    {
        // TODO Do something here to initialize/update your page.
    }

    public override void OnNavigating(ref bool cancel)
    {
        // TODO Do something here to clean up your page.
    }
}
&lt;/pre&gt;&lt;br /&gt;The HomePage page XAML:&lt;br /&gt;&lt;pre&gt;
&amp;lt;Page x:Class=&amp;quot;YourNamespace.HomePage&amp;quot; ... DataContext=&amp;quot;{Binding HomePageModel}&amp;quot;&amp;gt;
    &amp;lt;!-- Your page content goes here --&amp;gt;
&amp;lt;/Page&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Wed, 13 Mar 2013 17:28:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: HandlePageNavigation 20130313052857P</guid></item><item><title>New Comment on "HandlePageNavigation"</title><link>http://w8mvvm.codeplex.com/wikipage?title=HandlePageNavigation&amp;ANCHOR#C26830</link><description>How do you pass information when navigating from one page to the other&amp;#63;</description><author>Yvan</author><pubDate>Sun, 10 Mar 2013 15:51:20 GMT</pubDate><guid isPermaLink="false">New Comment on "HandlePageNavigation" 20130310035120P</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=15</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;Start your project using our popular &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b287f569-7bf9-40d2-80f3-02c9945f1f33"&gt;project template&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Settings charm panels&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;This project is supported by &lt;a href="http://eastbanctech.com"&gt;EastBanc Technologies&lt;/a&gt; international company.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Sat, 09 Mar 2013 21:58:31 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130309095831P</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=14</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Settings charm panels&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;Use &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b287f569-7bf9-40d2-80f3-02c9945f1f33"&gt;w8mvvm project template&lt;/a&gt; from Visual studio gallery to start.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Tue, 05 Mar 2013 06:29:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130305062956A</guid></item><item><title>New Comment on "ViewModel"</title><link>http://w8mvvm.codeplex.com/wikipage?title=ViewModel&amp;ANCHOR#C26761</link><description>should that be OnPropertyChange&amp;#60;int&amp;#62; i.e. generic&amp;#63;&amp;#10;- otherwise &amp;#40;if you use Object parameters&amp;#41; surely you&amp;#39;ll get un&amp;#47;boxing consequences &amp;#63;</description><author>DickInKent</author><pubDate>Sat, 02 Mar 2013 20:37:23 GMT</pubDate><guid isPermaLink="false">New Comment on "ViewModel" 20130302083723P</guid></item><item><title>Updated Wiki: PersistingNavigationState</title><link>http://w8mvvm.codeplex.com/wikipage?title=PersistingNavigationState&amp;version=1</link><description>&lt;div class="wikidoc"&gt;When your application is suspended and then terminated it should restore its state.&lt;br /&gt;&lt;br /&gt;You can use the following approach to save/restore a Page view model state:&lt;br /&gt;&lt;pre&gt;
public class MyPageModel : PageModel
{
        private bool _isStateLoaded;

        public override async void OnNavigated()
        {
            base.OnNavigated();

            await LoadState();

            Application.Current.Suspending += OnSuspending;
        }

        public override void OnNavigating(ref bool cancel)
        {
            base.OnNavigating(ref cancel);

            if (!cancel)
            {
                Application.Current.Suspending -= OnSuspending;
                SaveState().ContinueWith(task =&amp;gt;
                {
                    if(task.Exception != null)
                        Debug.WriteLine(task.Exception);
                });
            }
        }

        private async void OnSuspending(object sender, SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();
            await SaveState();
            deferral.Complete();
        }

        private async Task SaveState()
        {
            // Save your state here.
        }

        private async Task LoadState()
        {
            if(_isStateLoaded)
                return;
            
            // Load your state here.

            _isStateLoaded = true;
        }
}
&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Explanation&lt;/b&gt;&lt;br /&gt;The view model state is saved  in the Application.Suspending event handler.&lt;br /&gt;The state is restored in the OnNavigated method overload. This method is called when a user navigates to the page and when the navigation history is restored.&lt;br /&gt;You can also save the state in the OnNavigating method overload to restore it when a user comes to the page again. This method is called when user leaves the page.&lt;br /&gt;&lt;br /&gt;To save/restore the navigation history you should use NavigationState.Get/SetNavigationState methods (NavigationState is usually a part of a root view model or an utility class).&lt;br /&gt;You can use the following code in your App class (App.xaml.cs file).&lt;br /&gt;saving:&lt;br /&gt;&lt;pre&gt;
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
        var deferral = e.SuspendingOperation.GetDeferral();
        string navigationState = RootModel.Navigation.NavigationState.GetNavigationState();
        await Save(&amp;quot;NavigationStack&amp;quot;, navigationState);
        deferral.Complete();
}
&lt;/pre&gt;&lt;br /&gt;restoring:&lt;br /&gt;&lt;pre&gt;
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
        RootModel = new RootModel ();
        var frame = new Frame { DataContext = RootModel };
        ElementBinder.SetWrapper(frame, RootModel.Navigation.NavigationState);
        Window.Current.Content = frame;
        Window.Current.Activate();

        // Open a main page or restore the navigation history.
        if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
        {
            var history= await Load&amp;lt;string&amp;gt;(&amp;quot;NavigationStack&amp;quot;);
            RootModel.Navigation.NavigationState.SetNavigationState(history);
        }
        else
        {
            RootModel.Navigation.GotoMainPage();
        }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Wed, 27 Feb 2013 04:35:19 GMT</pubDate><guid isPermaLink="false">Updated Wiki: PersistingNavigationState 20130227043519A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://w8mvvm.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;ul&gt;&lt;li&gt;How to use
&lt;ul&gt;&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ViewModel&amp;referringTitle=Documentation"&gt;View models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=SimpleCommands&amp;referringTitle=Documentation"&gt;Simple commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingEventsAndCommands&amp;referringTitle=Documentation"&gt;Binding events and commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=CallAViewFromModel&amp;referringTitle=Documentation"&gt;Call a view from its model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=HandlePageNavigation&amp;referringTitle=Documentation"&gt;Handle page navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ScreenOrientation&amp;referringTitle=Documentation"&gt;Screen orientations&amp;#47;modes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextMenuBehavior&amp;referringTitle=Documentation"&gt;Context menu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextPopupBehavior&amp;referringTitle=Documentation"&gt;Context popup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingConverters&amp;referringTitle=Documentation"&gt;Binding converters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=EventTriggers&amp;referringTitle=Documentation"&gt;Event triggers for animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=PersistingNavigationState&amp;referringTitle=Documentation"&gt;Persisting navigation and page state&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Wed, 27 Feb 2013 03:53:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130227035321A</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=13</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;
&lt;li&gt;Show/hide panes in Settings charm&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;Use &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b287f569-7bf9-40d2-80f3-02c9945f1f33"&gt;w8mvvm project template&lt;/a&gt; from Visual studio gallery to start.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ygrik</author><pubDate>Wed, 30 Jan 2013 20:37:42 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130130083742P</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=12</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;Use &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b287f569-7bf9-40d2-80f3-02c9945f1f33"&gt;w8mvvm project template&lt;/a&gt; from Visual studio gallery to start.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Tue, 29 Jan 2013 23:30:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130129113035P</guid></item><item><title>Updated Wiki: ContextPopupBehavior</title><link>http://w8mvvm.codeplex.com/wikipage?title=ContextPopupBehavior&amp;version=2</link><description>&lt;div class="wikidoc"&gt;PopupBehavior  allows you to easily display a popup on a tap or right click.&lt;br /&gt;&lt;br /&gt;In your view you should specify a template for your popup:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;TextBlock Text=&amp;quot;Tap or right click here for more information&amp;quot; behaviors:PopupBehavior.Placement=&amp;quot;Above&amp;quot;&amp;gt;
    &amp;lt;behaviors:PopupBehavior.Content&amp;gt;
        &amp;lt;DataTemplate&amp;gt;
            &amp;lt;TextBlock Text=&amp;quot;More information...&amp;quot;/&amp;gt;
        &amp;lt;/DataTemplate&amp;gt;
    &amp;lt;/behaviors:PopupBehavior.Content&amp;gt;
&amp;lt;/TextBlock&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Tue, 29 Jan 2013 21:52:22 GMT</pubDate><guid isPermaLink="false">Updated Wiki: ContextPopupBehavior 20130129095222P</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=11</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;Use a project  &lt;a href="http://visualstudiogallery.msdn.microsoft.com/b287f569-7bf9-40d2-80f3-02c9945f1f33"&gt;template&lt;/a&gt; from Visual studio gallery to start.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ygrik</author><pubDate>Fri, 25 Jan 2013 22:57:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130125105753P</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=10</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;
&lt;li&gt;Event triggers for animations&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 22:41:55 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130124104155P</guid></item><item><title>Updated Wiki: EventTriggers</title><link>http://w8mvvm.codeplex.com/wikipage?title=EventTriggers&amp;version=1</link><description>&lt;div class="wikidoc"&gt;The event triggers mechanism allows you to begin an animation when an event is fired by a view element.&lt;br /&gt;It is based on the event to command binding mechanism. You just need to specify a special command called TriggerCommand.&lt;br /&gt;&lt;br /&gt;Here is a short version of the sample XAML:&lt;br /&gt;&lt;pre&gt;
&amp;lt;Border mvvm:EventBinding.PointerPressed=&amp;quot;{StaticResource PointerPressedTriggerCommand}&amp;quot;/&amp;gt;
&lt;/pre&gt;&lt;br /&gt;or&lt;br /&gt;&lt;pre&gt;
&amp;lt;Border&amp;gt;
    &amp;lt;mvvm:EventBinding.PointerPressed&amp;gt;
        &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeOut}&amp;quot;/&amp;gt;
    &amp;lt;/mvvm:EventBinding.PointerPressed&amp;gt;
&amp;lt;/Border&amp;gt;
&lt;/pre&gt;&lt;br /&gt;Here is a full sample:&lt;br /&gt;&lt;pre&gt;
&amp;lt;Grid&amp;gt;
    &amp;lt;FrameworkElement.Resources&amp;gt;
        &amp;lt;Storyboard x:Key=&amp;quot;FadeOut&amp;quot;&amp;gt;
            &amp;lt;PointerDownThemeAnimation Storyboard.TargetName=&amp;quot;MyElement&amp;quot;/&amp;gt;
        &amp;lt;/Storyboard&amp;gt;
        &amp;lt;Storyboard x:Key=&amp;quot;FadeIn&amp;quot;&amp;gt;
            &amp;lt;PointerUpThemeAnimation Storyboard.TargetName=&amp;quot;MyElement&amp;quot;/&amp;gt;
        &amp;lt;/Storyboard&amp;gt;
    &amp;lt;/FrameworkElement.Resources&amp;gt;
    
    &amp;lt;Border x:Name=&amp;quot;MyElement&amp;quot; Width=&amp;quot;100&amp;quot; Height=&amp;quot;100&amp;quot; Background=&amp;quot;Red&amp;quot;&amp;gt;

        &amp;lt;mvvm:EventBinding.PointerPressed&amp;gt;
            &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeOut}&amp;quot;/&amp;gt;
        &amp;lt;/mvvm:EventBinding.PointerPressed&amp;gt;

        &amp;lt;mvvm:EventBinding.PointerReleased&amp;gt;
            &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeIn}&amp;quot;/&amp;gt;
        &amp;lt;/mvvm:EventBinding.PointerReleased&amp;gt;

    &amp;lt;/Border&amp;gt;
&amp;lt;/Grid&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 21:43:01 GMT</pubDate><guid isPermaLink="false">Updated Wiki: EventTriggers 20130124094301P</guid></item><item><title>Updated Wiki: Event triggers for animations</title><link>http://w8mvvm.codeplex.com/wikipage?title=Event triggers for animations&amp;version=1</link><description>&lt;div class="wikidoc"&gt;The event triggers mechanism allows you to begin an animation when an event is fired by a view element.&lt;br /&gt;It is based on the event to command binding mechanism. You just need to specify a special command called TriggerCommand.&lt;br /&gt;&lt;br /&gt;Here is a short version of the sample XAML:&lt;br /&gt;&lt;pre&gt;
&amp;lt;Border mvvm:EventBinding.PointerPressed=&amp;quot;{StaticResource PointerPressedTriggerCommand}&amp;quot;/&amp;gt;
&lt;/pre&gt;&lt;br /&gt;or&lt;br /&gt;&lt;pre&gt;
&amp;lt;Border&amp;gt;
    &amp;lt;mvvm:EventBinding.PointerPressed&amp;gt;
        &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeOut}&amp;quot;/&amp;gt;
    &amp;lt;/mvvm:EventBinding.PointerPressed&amp;gt;
&amp;lt;/Border&amp;gt;
&lt;/pre&gt;&lt;br /&gt;Here is a full sample:&lt;br /&gt;&lt;pre&gt;
&amp;lt;Grid&amp;gt;
    &amp;lt;FrameworkElement.Resources&amp;gt;
        &amp;lt;Storyboard x:Key=&amp;quot;FadeOut&amp;quot;&amp;gt;
            &amp;lt;PointerDownThemeAnimation Storyboard.TargetName=&amp;quot;MyElement&amp;quot;/&amp;gt;
        &amp;lt;/Storyboard&amp;gt;
        &amp;lt;Storyboard x:Key=&amp;quot;FadeIn&amp;quot;&amp;gt;
            &amp;lt;PointerUpThemeAnimation Storyboard.TargetName=&amp;quot;MyElement&amp;quot;/&amp;gt;
        &amp;lt;/Storyboard&amp;gt;
    &amp;lt;/FrameworkElement.Resources&amp;gt;
    
    &amp;lt;Border x:Name=&amp;quot;MyElement&amp;quot; Width=&amp;quot;100&amp;quot; Height=&amp;quot;100&amp;quot; Background=&amp;quot;Red&amp;quot;&amp;gt;

        &amp;lt;mvvm:EventBinding.PointerPressed&amp;gt;
            &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeOut}&amp;quot;/&amp;gt;
        &amp;lt;/mvvm:EventBinding.PointerPressed&amp;gt;

        &amp;lt;mvvm:EventBinding.PointerReleased&amp;gt;
            &amp;lt;mvvm:TriggerCommand Storyboard=&amp;quot;{StaticResource FadeIn}&amp;quot;/&amp;gt;
        &amp;lt;/mvvm:EventBinding.PointerReleased&amp;gt;

    &amp;lt;/Border&amp;gt;
&amp;lt;/Grid&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 21:41:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Event triggers for animations 20130124094114P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://w8mvvm.codeplex.com/documentation?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;ul&gt;&lt;li&gt;How to use
&lt;ul&gt;&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ViewModel&amp;referringTitle=Documentation"&gt;View models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=SimpleCommands&amp;referringTitle=Documentation"&gt;Simple commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingEventsAndCommands&amp;referringTitle=Documentation"&gt;Binding events and commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=CallAViewFromModel&amp;referringTitle=Documentation"&gt;Call a view from its model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=HandlePageNavigation&amp;referringTitle=Documentation"&gt;Handle page navigation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ScreenOrientation&amp;referringTitle=Documentation"&gt;Screen orientations&amp;#47;modes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextMenuBehavior&amp;referringTitle=Documentation"&gt;Context menu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=ContextPopupBehavior&amp;referringTitle=Documentation"&gt;Context popup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=BindingConverters&amp;referringTitle=Documentation"&gt;Binding converters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://w8mvvm.codeplex.com/wikipage?title=EventTriggers&amp;referringTitle=Documentation"&gt;Event triggers for animations&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 21:20:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130124092058P</guid></item><item><title>Updated Wiki: BindingEventsAndCommands</title><link>http://w8mvvm.codeplex.com/wikipage?title=BindingEventsAndCommands&amp;version=3</link><description>&lt;div class="wikidoc"&gt;Unlike other MVVM libraries we do not have a EventToCommand class. We use a short and more convenient way to bind events to commands.&lt;br /&gt;&lt;br /&gt;Lets bind the Tapped event to a command in XAML:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
&amp;lt;TextBlock Mvvm:EventBinding.Tapped=&amp;quot;{Binding TappedCommand}&amp;quot; Text=&amp;quot;Tap me&amp;quot;/&amp;gt;
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is an example of a view model class with a command that handles an event from the UI:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
public class SimpleViewModel
{
    public SimpleViewModel()
    {
        TappedCommand = new EventCommand&amp;lt;Point&amp;gt;(OnTapped);
    }

    public IEventCommand TappedCommand { get; private set; }

    private void OnTapped(Point point)
    {
        // You can mark the event as handled by using the PreventBubbling property.
        // This property value will not be reset automatically.
        // So you can set it once in the constructor or update it anywhere.
        TappedCommand.PreventBubbling = point.X &amp;lt; 100;
    }
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 07:31:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: BindingEventsAndCommands 20130124073123A</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;This is not a framework. So you can use only features that you like.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 07:16:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130124071618A</guid></item><item><title>Updated Wiki: Home</title><link>http://w8mvvm.codeplex.com/wikipage?version=8</link><description>&lt;div class="wikidoc"&gt;This project contains classes that allows to follow MVVM pattern in C# Windows Store applications.&lt;br /&gt;&lt;br /&gt;Features:
&lt;ul&gt;&lt;li&gt;INotifyPropertyChanged support&lt;/li&gt;
&lt;li&gt;Events and commands binding&lt;/li&gt;
&lt;li&gt;Call a view from its model&lt;/li&gt;
&lt;li&gt;Handle page navigation&lt;/li&gt;
&lt;li&gt;Binding converters&lt;/li&gt;
&lt;li&gt;Some controls&amp;#39; behaviors&lt;/li&gt;
&lt;li&gt;Screen orientations behavior&lt;/li&gt;
&lt;li&gt;Context menu behavior&lt;/li&gt;
&lt;li&gt;Context popup behavior&lt;/li&gt;
&lt;li&gt;AppBar behavior&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;NuGet package: &lt;a href="https://nuget.org/packages/w8mvvm"&gt;w8mvvm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See the &lt;a href="http://w8mvvm.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; for a sample code.&lt;br /&gt;&lt;br /&gt;This project was created by EastBanc Technologies &lt;a href="http://eastbanctech.com"&gt;http://eastbanctech.com&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mglukhankov</author><pubDate>Thu, 24 Jan 2013 05:22:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130124052244A</guid></item></channel></rss>