Click here to Skip to main content
Click here to Skip to main content

Making the ApplicationBar bindable

, 12 May 2011
Rate this:
Please Sign up or sign in to vote.
How to make the ApplicationBar bindable.

Capture.png

One of the small issues with using MVVM (Model-View-ViewModel) in a WP7 application is that both ApplicationBarIconButton and ApplicationBarMenuItem do not derive from DependencyObject. This means that I can not bind to any of its properties, making a “true” MVVM application a little hard! I created two simple wrappers for these that make it possible to “bind” to a method.

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
        <controls:MethodApplicationBarIconButton 
          IconUri="/Images/appbar_button1.png" Text="Button 1" 
          MethodName="ShowMessage" />
        <controls:MethodApplicationBarIconButton IconUri="/Images/appbar_button2.png" 
           Text="Button 2" MethodName="ShowMessage" />
        <shell:ApplicationBar.MenuItems>
            <controls:MethodApplicationBarMenuItem Text="MenuItem 1" MethodName="ShowMessage" />
            <controls:MethodApplicationBarMenuItem Text="MenuItem 2" MethodName="ShowMessage" />
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

The only “little” caveat is that you have to set the BindApplicationBar attached property to true:

controls:ApplicationBarHelper.BindApplicationBar="True"

And that’s it...

Here is the latest source.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

rudigrobler

South Africa South Africa
No Biography provided

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web02 | 2.8.140721.1 | Last Updated 12 May 2011
Article Copyright 2011 by rudigrobler
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid