This can be found on ArcGIS.com here and is also available in the Viewer's code gallery. This is a production quality, ready-to-use tool with full source code included.
Measure tool - that is coming soon and we will be posting that in the Code Gallery.
<esri:Map x:Name="Map" HorizontalAlignment="Stretch" IsLogoVisible="False" VerticalAlignment="Stretch" Grid.ColumnSpan="2" Grid.RowSpan="3" WrapAround="True" d:DataContext="{Binding Converter={StaticResource SampleGraphicsLayerConverter}, RelativeSource={RelativeSource Self}}"/> <Grid Grid.Column="{Binding ElementName=SidePanelContainer, Path=Visibility, Converter={StaticResource VisibilityToIntConverter}}" Grid.ColumnSpan="{Binding ElementName=SidePanelContainer, Path=Visibility, Converter={StaticResource VisibilityToIntConverter}, ConverterParameter='1,2'}" Grid.RowSpan="{Binding Visibility, ConverterParameter=1\,2, Converter={StaticResource VisibilityToIntConverter}, ElementName=FeatureDataGridContainer}"> <esri:MapProgressBar Map="{Binding ElementName=Map}" Width="250" Height="35" Style="{StaticResource MapProgressBarStyle}" Margin="10,5,0,2" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Bottom" /> <ContentControl x:Name="ScaleBarContainer" Margin="20,0,0,2" HorizontalAlignment="Left" HorizontalContentAlignment="Stretch" VerticalAlignment="Bottom" Foreground="WhiteSmoke"> <ContentControl.Effect> <DropShadowEffect BlurRadius="10" ShadowDepth="2" Opacity="1" Direction="300" /> </ContentControl.Effect> </ContentControl> <ContentControl x:Name="AttributionDisplayContainer" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,6,2"/> <!--Measuring Tools--> <Grid x:Name="MeasureBox" HorizontalAlignment="Right" VerticalAlignment="Top" Width="Auto" Height="Auto" Margin="10" Visibility="Visible"> <Border Style="{StaticResource GlassyBorder}" Padding="10,3,10,3" Opacity="1"> <!--<Border.Effect> <DropShadowEffect /> </Border.Effect>--> <StackPanel > <TextBlock Text="Measuring Tools" Foreground="White" FontSize="14" FontWeight="Bold" Margin="4" /> <TextBlock Text="Select Units:" Foreground="White" FontSize="12" Margin="2" /> <ComboBox x:Name="UnitCombo" Foreground="White" Margin="0,0,0,4" > <ComboBox.Items> <ComboBoxItem Content="Feet" IsSelected="True" Foreground="Black"/> <ComboBoxItem Content="Meters" Foreground="Black"/> <ComboBoxItem Content="Miles" Foreground="Black"/> </ComboBox.Items> </ComboBox> <ComboBox x:Name="AreaCombo" Foreground="White"> <ComboBox.Items> <ComboBoxItem Content="SquareFeet" IsSelected="True" Foreground="Black"/> <ComboBoxItem Content="SquareMeters" Foreground="Black"/> <ComboBoxItem Content="SquareMiles" Foreground="Black"/> </ComboBox.Items> </ComboBox> <Rectangle Margin="0,10,0,10" Fill="White" Height="2" HorizontalAlignment="Stretch" /> <Button Margin="0,0,0,2" Content="Length(Line)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=AreaCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Polyline" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> <Button Margin="0,2,0,2" Content="Radius(Circle)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Radius" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> <Button Margin="0,2,0,2" Content="Area(Polygon)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=AreaCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Polygon" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> </StackPanel> </Border> </Grid> <!--Transparency Slider--> <Grid x:Name="TransparencyBox" HorizontalAlignment="Left" VerticalAlignment="Top" Width="Auto" Height="Auto" Margin="10" Visibility="Visible"> <Border Style="{StaticResource GlassyBorder}" Padding="10,3,10,3" Opacity="1"> <!--<Border.Effect> <DropShadowEffect /> </Border.Effect>--> <StackPanel Background="Transparent" Margin="0,0,0,0" HorizontalAlignment="Right" VerticalAlignment="Center"> <TextBlock Text="Layer Transparency" Foreground="White" FontSize="14" FontWeight="Bold" Margin="4" /> <Slider Height="23" Width="100" Name="slider1" Minimum="0" Maximum="1" Value="{Binding Path=SelectedLayer.Opacity, Mode=TwoWay, Source={StaticResource MapApplication}}" IsDirectionReversed="False" /> </StackPanel> </Border> </Grid> </Grid>
<Grid x:Name="MeasureBox" HorizontalAlignment="Right" VerticalAlignment="Top" Width="Auto" Height="Auto" Margin="10" Visibility="Collapsed"> <Border Style="{StaticResource GlassyBorder}" Padding="10,3,10,3" Opacity="1"> <StackPanel > <TextBlock Text="Measuring Tools" Foreground="White" FontSize="14" FontWeight="Bold" Margin="4" /> <TextBlock Text="Select Units:" Foreground="White" FontSize="12" Margin="2" /> <ComboBox x:Name="UnitCombo" Foreground="White" Margin="0,0,0,4" > <ComboBox.Items> <ComboBoxItem Content="Feet" IsSelected="True" Foreground="Black"/> <ComboBoxItem Content="Meters" Foreground="Black"/> <ComboBoxItem Content="Miles" Foreground="Black"/> </ComboBox.Items> </ComboBox> <ComboBox x:Name="AreaCombo" Foreground="White"> <ComboBox.Items> <ComboBoxItem Content="SquareFeet" IsSelected="True" Foreground="Black"/> <ComboBoxItem Content="SquareMeters" Foreground="Black"/> <ComboBoxItem Content="SquareMiles" Foreground="Black"/> </ComboBox.Items> </ComboBox> <Rectangle Margin="0,10,0,10" Fill="White" Height="2" HorizontalAlignment="Stretch" /> <Button Margin="0,0,0,2" Content="Length(Line)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=AreaCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Polyline" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> <Button Margin="0,2,0,2" Content="Radius(Circle)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Radius" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> <Button Margin="0,2,0,2" Content="Area(Polygon)" > <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <esri:MeasureAction AreaUnit="{Binding ElementName=AreaCombo, Path=SelectedItem.Content}" DisplayTotals="True" DistanceUnit="{Binding ElementName=UnitCombo, Path=SelectedItem.Content}" MapUnits="Meters" MeasureMode="Polygon" FillSymbol="{StaticResource DefaultFillSymbol}" TargetName="Map"/> </i:EventTrigger> </i:Interaction.Triggers> </Button> </StackPanel> </Border> </Grid>
namespace MeasurementTool.AddIns { [Export(typeof(ICommand))] [DisplayName("Measuring Tools")] [ESRI.ArcGIS.Client.Extensibility.Description("Click to show or hide measuring tools.")] public class ToggleLayoutObject : ICommand { private FrameworkElement objectToToggle; public bool CanExecute(object parameter) { return true; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { if (objectToToggle == null) objectToToggle = MapApplication.Current.FindObjectInLayout("MeasureBox") as FrameworkElement; if (objectToToggle != null) objectToToggle.Visibility = objectToToggle.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible; } } }
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.