Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
825
Custom Tooltip for XamWebMap
posted

Please give me a sample of adding a custom tooltip to the XamWebMap MapLayer that would be attached to an .shp file and would have a TextBlock bound to a DataMapping item.

Parents
No Data
Reply
  • 4666
    Suggested Answer
    posted

    Hi flowerdj,

    By default you could use Caption inside DataMapping:

                    <ig:MapLayer

                            Name="World" Brushes="#4C2C42C0 #4C218B93 #4CDC1C1C #4C3D7835 #4C701B51"

                            FillMode="Choropleth" WorldRect="{Binding ElementName=MainWindow, Path=WorldRect}"                       

                            >

                            <ig:MapLayer.Reader>

                                <ig:ShapeFileReader Uri="ShapeFiles\Cntry00\Cntry00"

                                       DataMapping="Name=CNTRY_NAME; Value=POP_CNTRY; Caption=CNTRY_NAME; ToolTip=CNTRY_NAME" />

                            </ig:MapLayer.Reader>

                            <ig:MapLayer.ValueScale>

                            <ig:LinearScale IsAutoRange="True"/>

                        </ig:MapLayer.ValueScale>

                    </ig:MapLayer>

    If you want a custom tooltip you need to create a DataTemplate inside ValueTemplate and attach a ToolTip to some of the elements in your DataTaplete.
    Here is an appropriate sample:

                   <ig:MapLayer

                            Name="World" Brushes="#4C2C42C0 #4C218B93 #4CDC1C1C #4C3D7835 #4C701B51"

                            FillMode="Choropleth" WorldRect="{Binding ElementName=MainWindow, Path=WorldRect}"                       

                            >

                            <ig:MapLayer.Reader>

                                <ig:ShapeFileReader Uri="ShapeFiles\Cntry00\Cntry00"

                                       DataMapping="Name=CNTRY_NAME; Value=POP_CNTRY; Caption=CNTRY_NAME" />

                            </ig:MapLayer.Reader>

                            <ig:MapLayer.ValueScale>

                            <ig:LinearScale IsAutoRange="True"/>

                        </ig:MapLayer.ValueScale>

                            <ig:MapLayer.ValueTemplate>

                                <DataTemplate>

                                    <Border CornerRadius="4" BorderBrush="#00666666" BorderThickness="2" Background="#00cccccc" Padding="8">

                                        <StackPanel>

                                            <TextBlock FontSize="10" FontWeight="Bold" Text="{Binding Path=Name, StringFormat='Name: {0}'}" />

                                            <ToolTipService.ToolTip>

                                                <Border CornerRadius="4" BorderBrush="#00666666" BorderThickness="2" Background="#00cccccc" Padding="8">

                                                    <StackPanel>

                                                         <TextBlock FontSize="10" FontWeight="Bold" Text="{Binding Path=Value, StringFormat='Population: {0}'}" />

                                                    </StackPanel>

                                                </Border>

                                            </ToolTipService.ToolTip>

                                        </StackPanel>                                   

                                    </Border>

                                </DataTemplate>

                            </ig:MapLayer.ValueTemplate>

                        </ig:MapLayer>

    Hope this can help :-)

    Cheers!

    Mihail

     

Children