Working With Location in Windows Phone: Listing 3

XAML for a two-button grid.

<Grid x:Name="ContentPanel"
        Grid.Row="1"
        Margin="12,0,12,0">
    <Grid.Resources>
        <local:LocationViewModel x:Key="ViewModel" />
        <maps:ApplicationIdCredentialsProvider x:Key="Credentials"
                                                ApplicationId="{your key}" />
    </Grid.Resources>
    <Grid DataContext="{Binding Source={StaticResource ViewModel}}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Button Content="Start Tracking">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Click">
                    <ec:CallMethodAction TargetObject="{Binding}"
                                            MethodName="StartTracking" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </Button>
        <Button Content="Stop Tracking"
                Grid.Column="1">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="Click">
                    <ec:CallMethodAction TargetObject="{Binding}"
                                            MethodName="StopTracking" />
                </i:EventTrigger>
            </i:Interaction.Triggers>
        </Button>
        <Border Grid.Row="1"
                Grid.ColumnSpan="2"
                BorderBrush="{Binding LocationTrackingBrush}"
                BorderThickness="{StaticResource PhoneMargin}">
            <maps:Map LogoVisibility="Collapsed"
                        CopyrightVisibility="Collapsed"
                        CredentialsProvider="{StaticResource Credentials}">
                <maps:Pushpin Content="Here I Am!"
                                Location="{Binding CurrentLocation}" />
            </maps:Map>
        </Border>
    </Grid>
</Grid>

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.

comments powered by Disqus

Featured

  • Vendors Update Controls for .NET Core 3.1, Blazor

    This week saw two third-party vendors of dev tools -- UX and UI toolkits and controls -- release new offerings that include support for two of Microsoft's main open source frameworks, the cross-platform .NET Core 3.1 and Blazor, which allows for creating browser-based web applications with C# instead of JavaScript.

  • C++ Is Focus of New Visual Studio 2019 v16.7 Preview 2

    C++ development is a focus point of the new Visual Studio 2019 v16.7 Preview 2, featuring a slew of tweaks and improvements touching upon remote SSH connections, IntelliSense support and more.

  • Clustering Non-Numeric Data Using C#

    Clustering non-numeric -- or categorial -- data is surprisingly difficult, but it's explained here by resident data scientist Dr. James McCaffrey of Microsoft Research, who provides all the code you need for a complete system using an algorithm based on a metric called category utility (CU), a measure how much information you gain by clustering.

  • So What's Up with Microsoft's (and Everyone Else's) Love of Rust?

    Microsoft already stewards several popular programming languages -- C#, TypeScript, F# -- so what's up with its love of Rust, along with the rest of the world?

  • C# Steps Up Programming Language Popularity Ladder

    Microsoft's C# programming language climbed a year-over-year notch on the TIOBE Index, which measures popularity among developers.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events