using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Threading; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; namespace GeoProcessTest { public partial class MainPage : UserControl { private DispatcherTimer _processingTimer; private Draw MyDrawObject; public MainPage() { InitializeComponent(); _processingTimer = new System.Windows.Threading.DispatcherTimer(); _processingTimer.Interval = new TimeSpan(0, 0, 0, 0, 800); _processingTimer.Tick += ProcessingTimer_Tick; MyDrawObject = new Draw(MyMap) { DrawMode = DrawMode.Polyline, IsEnabled = true, LineSymbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol }; MyDrawObject.DrawComplete += MyDrawObject_DrawComplete; } private void MyDrawObject_DrawComplete(object sender, DrawEventArgs args) { MyDrawObject.IsEnabled = false; ProcessingTextBlock.Visibility = Visibility.Visible; _processingTimer.Start(); GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; Graphic graphic = new Graphic() { Symbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol, Geometry = args.Geometry }; graphicsLayer.Graphics.Add(graphic); Geoprocessor geoprocessorTask = new Geoprocessor("http://GisServer/ArcGIS/rest/services/GeoProcessTest/GPServer/Model"); geoprocessorTask.UpdateDelay = 5000; geoprocessorTask.JobCompleted += GeoprocessorTask_JobCompleted; List<GPParameter> parameters = new List<GPParameter>(); parameters.Add(new GPLinearUnit("Enter_Buffer_Distance", esriUnits.esriFeet, Int32.Parse(DistanceTextBox.Text))); parameters.Add(new GPFeatureRecordSetLayer("Draw_a_line_or_multiple_lines_to_select_parcels_", args.Geometry)); parameters.Add(new GPString("HTML_TITLE", (TitleTextBox.Text))); geoprocessorTask.SubmitJobAsync(parameters); } private void GeoprocessorTask_JobCompleted(object sender, JobInfoEventArgs e) { Geoprocessor geoprocessorTask = sender as Geoprocessor; geoprocessorTask.GetResultDataCompleted += (s1, ev1) => { GraphicsLayer graphicsLayer = MyMap.Layers["MyResultGraphicsLayer"] as GraphicsLayer; if (ev1.Parameter is GPFeatureRecordSetLayer) { GPFeatureRecordSetLayer gpLayer = ev1.Parameter as GPFeatureRecordSetLayer; if (gpLayer.FeatureSet.Features.Count == 0) { geoprocessorTask.GetResultImageLayerCompleted += (s2, ev2) => { GPResultImageLayer gpImageLayer = ev2.GPResultImageLayer; gpImageLayer.Opacity = 0.5; MyMap.Layers.Add(gpImageLayer); ProcessingTextBlock.Text = "Greater than 500 features returned. Results drawn using map service."; _processingTimer.Stop(); }; geoprocessorTask.GetResultImageLayerAsync(e.JobInfo.JobId, "BufferedParcels"); return; } foreach (Graphic graphic in gpLayer.FeatureSet.Features) { graphic.Symbol = LayoutRoot.Resources["ClipFeaturesFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; graphicsLayer.Graphics.Add(graphic); } } //add code to add zip file if (ev1.Parameter is GPDataFile) { GPDataFile gpdata = ev1.Parameter as GPDataFile; Uri uri = new Uri(gpdata.Url); button1.TargetName = "_blank"; button1.NavigateUri = uri; button1.Content = "HTML FILE"; button1.Visibility = System.Windows.Visibility.Visible; //System.Windows.Browser.HtmlPage.Window.Navigate(uri); //Uri uri2 = new Uri(gpdata.Url); //button2.NavigateUri = uri2; //button2.Content = "ZIP FILE"; //button2.Visibility = System.Windows.Visibility.Visible; geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "BufferedParcels"); } //if (ev1.Parameter is GPDataFile) //{ // GPDataFile gpdata2 = ev1.Parameter as GPDataFile; // Uri uri2 = new Uri(gpdata2.Url); // button2.NavigateUri = uri2; // button2.Content = "ZIP FILE"; // button2.Visibility = System.Windows.Visibility.Visible; //} ProcessingTextBlock.Visibility = Visibility.Collapsed; _processingTimer.Stop(); }; geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "Output_htm__2_"); geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "output_zip"); // geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "BufferedParcels"); } private void GeoprocessorTask_Failed(object sender, TaskFailedEventArgs e) { MessageBox.Show("Geoprocessor service failed: " + e.Error); } private void ClearButton_Click(object sender, RoutedEventArgs e) { List<Layer> gpResultImageLayers = new List<Layer>(); foreach (Layer layer in MyMap.Layers) if (layer is GraphicsLayer) (layer as GraphicsLayer).ClearGraphics(); else if (layer is GPResultImageLayer) gpResultImageLayers.Add(layer); for (int i = 0; i < gpResultImageLayers.Count; i++) MyMap.Layers.Remove(gpResultImageLayers); MyDrawObject.IsEnabled = true; ProcessingTextBlock.Text = ""; ProcessingTextBlock.Visibility = Visibility.Collapsed; } void ProcessingTimer_Tick(object sender, EventArgs e) { if (ProcessingTextBlock.Text.Length > 20 || !ProcessingTextBlock.Text.StartsWith("Processing")) ProcessingTextBlock.Text = "Processing."; else ProcessingTextBlock.Text = ProcessingTextBlock.Text + "."; } } }
<UserControl x:Class="GeoProcessTest.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:esri="http://schemas.esri.com/arcgis/client/2009"> <Grid x:Name="LayoutRoot" Background="White"> <Grid.Resources> <esri:SimpleLineSymbol x:Key="ClipLineSymbol" Color="Red" Width="2" /> <esri:SimpleFillSymbol x:Key="ClipFeaturesFillSymbol" Fill="#770000FF" BorderBrush="#FF0000FF" BorderThickness="1" /> </Grid.Resources> <esri:Map x:Name="MyMap" Background="White" > <esri:ArcGISDynamicMapServiceLayer ID="StreetMapLayer" Url="http://GISserver/ArcGIS/rest/services/GeoProcessTestSilver/MapServer"/> <esri:GraphicsLayer ID="MyResultGraphicsLayer" > <esri:GraphicsLayer.MapTip> <Grid Background="LightYellow"> <StackPanel Orientation="Horizontal" Margin="5"> <TextBlock Text="Ownership: " FontWeight="Bold" /> <TextBlock Text="{Binding [APN]}" /> </StackPanel> <Border BorderBrush="Black" BorderThickness="1" /> </Grid> </esri:GraphicsLayer.MapTip> </esri:GraphicsLayer> <esri:GraphicsLayer ID="MyGraphicsLayer" /> </esri:Map> <Grid HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,15,15,0" > <Rectangle Fill="#77919191" Stroke="Gray" RadiusX="10" RadiusY="10" Margin="0,0,0,5" > <Rectangle.Effect> <DropShadowEffect/> </Rectangle.Effect> </Rectangle> <Rectangle Fill="#FFFFFFFF" Stroke="DarkGray" RadiusX="5" RadiusY="5" Margin="10" /> <StackPanel Orientation="Vertical" Margin="10" HorizontalAlignment="Left" > <TextBlock Text="Clip polygon features - Public Lands" HorizontalAlignment="Center" FontWeight="Bold" Margin="5"/> <TextBlock x:Name="InformationTextBlock" Text="Draw a line on the map over the Dido. When finished the line will be buffered and the buffer will be used to clip US county polygons. Results are returned as a GP map image." Width="200" TextAlignment="Left" TextWrapping="Wrap" /> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="5"> <TextBlock Text="Distance (in miles): " VerticalAlignment="Center" /> <TextBox x:Name="DistanceTextBox" Text="1" Width="35" TextAlignment="Right" Margin="0,0,5,0" /> <!--TextBox x:Name="TitleTextBox" Text="HTML TITLE" Width="75" TextAlignment="Right" Margin="0,0,5,0" /--> <Button x:Name="ClearButton" Content="Clear Results" Click="ClearButton_Click" /> </StackPanel> <TextBlock x:Name="ProcessingTextBlock" MaxWidth="150" Margin="5,5,5,5" Visibility="Collapsed" HorizontalAlignment="Center" Text="Processing." TextWrapping="Wrap" /> </StackPanel> </Grid> </Grid> </UserControl>
using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Threading; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; namespace GeoProcessTest { public partial class MainPage : UserControl { private DispatcherTimer _processingTimer; private Draw MyDrawObject; public MainPage() { InitializeComponent(); _processingTimer = new System.Windows.Threading.DispatcherTimer(); _processingTimer.Interval = new TimeSpan(0, 0, 0, 0, 800); _processingTimer.Tick += ProcessingTimer_Tick; MyDrawObject = new Draw(MyMap) { DrawMode = DrawMode.Polyline, IsEnabled = true, LineSymbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol }; MyDrawObject.DrawComplete += MyDrawObject_DrawComplete; } private void MyDrawObject_DrawComplete(object sender, DrawEventArgs args) { MyDrawObject.IsEnabled = false; ProcessingTextBlock.Visibility = Visibility.Visible; _processingTimer.Start(); GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; Graphic graphic = new Graphic() { Symbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol, Geometry = args.Geometry }; graphicsLayer.Graphics.Add(graphic); Geoprocessor geoprocessorTask = new Geoprocessor("http://GISserver/ArcGIS/rest/services/GeoProcessTest/GPServer/Model"); geoprocessorTask.UpdateDelay = 5000; geoprocessorTask.JobCompleted += GeoprocessorTask_JobCompleted; List<GPParameter> parameters = new List<GPParameter>(); parameters.Add(new GPLinearUnit("Enter_Buffer_Distance", esriUnits.esriFeet, Int32.Parse(DistanceTextBox.Text))); parameters.Add(new GPFeatureRecordSetLayer("Draw_a_line_or_multiple_lines_to_select_parcels_", args.Geometry)); geoprocessorTask.SubmitJobAsync(parameters); } private void GeoprocessorTask_JobCompleted(object sender, JobInfoEventArgs e) { Geoprocessor geoprocessorTask = sender as Geoprocessor; geoprocessorTask.GetResultDataCompleted += (s1, ev1) => { GraphicsLayer graphicsLayer = MyMap.Layers["MyResultGraphicsLayer"] as GraphicsLayer; if (ev1.Parameter is GPFeatureRecordSetLayer) { GPFeatureRecordSetLayer gpLayer = ev1.Parameter as GPFeatureRecordSetLayer; if (gpLayer.FeatureSet.Features.Count == 0) { geoprocessorTask.GetResultImageLayerCompleted += (s2, ev2) => { GPResultImageLayer gpImageLayer = ev2.GPResultImageLayer; gpImageLayer.Opacity = 0.5; MyMap.Layers.Add(gpImageLayer); ProcessingTextBlock.Text = "Greater than 500 features returned. Results drawn using map service."; _processingTimer.Stop(); }; geoprocessorTask.GetResultImageLayerAsync(e.JobInfo.JobId, "BufferedParcels"); return; } foreach (Graphic graphic in gpLayer.FeatureSet.Features) { graphic.Symbol = LayoutRoot.Resources["ClipFeaturesFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; graphicsLayer.Graphics.Add(graphic); } } ProcessingTextBlock.Visibility = Visibility.Collapsed; _processingTimer.Stop(); }; geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "BufferedParcels"); } private void GeoprocessorTask_Failed(object sender, TaskFailedEventArgs e) { MessageBox.Show("Geoprocessor service failed: " + e.Error); } private void ClearButton_Click(object sender, RoutedEventArgs e) { List<Layer> gpResultImageLayers = new List<Layer>(); foreach (Layer layer in MyMap.Layers) if (layer is GraphicsLayer) (layer as GraphicsLayer).ClearGraphics(); else if (layer is GPResultImageLayer) gpResultImageLayers.Add(layer); for (int i = 0; i < gpResultImageLayers.Count; i++) MyMap.Layers.Remove(gpResultImageLayers); MyDrawObject.IsEnabled = true; ProcessingTextBlock.Text = ""; ProcessingTextBlock.Visibility = Visibility.Collapsed; } void ProcessingTimer_Tick(object sender, EventArgs e) { if (ProcessingTextBlock.Text.Length > 20 || !ProcessingTextBlock.Text.StartsWith("Processing")) ProcessingTextBlock.Text = "Processing."; else ProcessingTextBlock.Text = ProcessingTextBlock.Text + "."; } } }
using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Threading; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; namespace ArcGISSilverlightSDK { public partial class ClipFeatures : UserControl { private DispatcherTimer _processingTimer; private Draw MyDrawObject; public ClipFeatures() { InitializeComponent(); _processingTimer = new System.Windows.Threading.DispatcherTimer(); _processingTimer.Interval = new TimeSpan(0, 0, 0, 0, 800); _processingTimer.Tick += ProcessingTimer_Tick; MyDrawObject = new Draw(MyMap) { DrawMode = DrawMode.Polyline, IsEnabled = true, LineSymbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol }; MyDrawObject.DrawComplete += MyDrawObject_DrawComplete; } private void MyDrawObject_DrawComplete(object sender, DrawEventArgs args) { MyDrawObject.IsEnabled = false; ProcessingTextBlock.Visibility = Visibility.Visible; _processingTimer.Start(); GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; Graphic graphic = new Graphic() { Symbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol, Geometry = args.Geometry }; graphicsLayer.Graphics.Add(graphic); Geoprocessor geoprocessorTask = new Geoprocessor("http://serverapps.esri.com/ArcGIS/rest/services/" + "SamplesNET/USA_Data_ClipTools/GPServer/ClipCounties"); geoprocessorTask.UpdateDelay = 5000; geoprocessorTask.JobCompleted += GeoprocessorTask_JobCompleted; List<GPParameter> parameters = new List<GPParameter>(); parameters.Add(new GPFeatureRecordSetLayer("Input_Features", args.Geometry)); parameters.Add(new GPLinearUnit("Linear_unit", esriUnits.esriMiles, Int32.Parse(DistanceTextBox.Text))); geoprocessorTask.SubmitJobAsync(parameters); } private void GeoprocessorTask_JobCompleted(object sender, JobInfoEventArgs e) { Geoprocessor geoprocessorTask = sender as Geoprocessor; geoprocessorTask.GetResultDataCompleted += (s1, ev1) => { GraphicsLayer graphicsLayer = MyMap.Layers["MyResultGraphicsLayer"] as GraphicsLayer; if (ev1.Parameter is GPFeatureRecordSetLayer) { GPFeatureRecordSetLayer gpLayer = ev1.Parameter as GPFeatureRecordSetLayer; if (gpLayer.FeatureSet.Features.Count == 0) { geoprocessorTask.GetResultImageLayerCompleted += (s2, ev2) => { GPResultImageLayer gpImageLayer = ev2.GPResultImageLayer; gpImageLayer.Opacity = 0.5; MyMap.Layers.Add(gpImageLayer); ProcessingTextBlock.Text = "Greater than 500 features returned. Results drawn using map service."; _processingTimer.Stop(); }; geoprocessorTask.GetResultImageLayerAsync(e.JobInfo.JobId, "Clipped_Counties"); return; } foreach (Graphic graphic in gpLayer.FeatureSet.Features) { graphic.Symbol = LayoutRoot.Resources["ClipFeaturesFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; graphicsLayer.Graphics.Add(graphic); } } if (ev1.Parameter is GPDataFile) { GPDataFile gpdata = ev1.Parameter as GPDataFile; Uri uri = new Uri(gpdata.Url); button1.NavigateUri = uri; button1.Content = uri; button1.Visibility = System.Windows.Visibility.Visible; //System.Windows.Browser.HtmlPage.Window.Navigate(uri); geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "Clipped_Counties"); } ProcessingTextBlock.Visibility = Visibility.Collapsed; _processingTimer.Stop(); }; //geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "Clipped_Counties"); geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "output_zip"); } private void GeoprocessorTask_Failed(object sender, TaskFailedEventArgs e) { MessageBox.Show("Geoprocessor service failed: " + e.Error); } private void ClearButton_Click(object sender, RoutedEventArgs e) { List<Layer> gpResultImageLayers = new List<Layer>(); foreach (Layer layer in MyMap.Layers) if (layer is GraphicsLayer) (layer as GraphicsLayer).ClearGraphics(); else if (layer is GPResultImageLayer) gpResultImageLayers.Add(layer); for (int i = 0; i < gpResultImageLayers.Count; i++) MyMap.Layers.Remove(gpResultImageLayers); MyDrawObject.IsEnabled = true; ProcessingTextBlock.Text = ""; ProcessingTextBlock.Visibility = Visibility.Collapsed; } void ProcessingTimer_Tick(object sender, EventArgs e) { if (ProcessingTextBlock.Text.Length > 20 || !ProcessingTextBlock.Text.StartsWith("Processing")) ProcessingTextBlock.Text = "Processing."; else ProcessingTextBlock.Text = ProcessingTextBlock.Text + "."; } } }
<Grid HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="0,15,15,0" > <HyperlinkButton x:Name="button1" Visibility="Collapsed" Height="19" Width="auto" Foreground="Black" /> </Grid>
if (ev1.Parameter is GPDataFile) { GPDataFile gpdata = ev1.Parameter as GPDataFile; Uri uri = new Uri(gpdata.Url); button1.NavigateUri = uri; button1.Content = uri; button1.Visibility = System.Windows.Visibility.Visible; //System.Windows.Browser.HtmlPage.Window.Navigate(uri); }
using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Threading; using ESRI.ArcGIS.Client; using ESRI.ArcGIS.Client.Tasks; namespace ArcGISSilverlightSDK { public partial class ClipFeatures : UserControl { private DispatcherTimer _processingTimer; private Draw MyDrawObject; public ClipFeatures() { InitializeComponent(); _processingTimer = new System.Windows.Threading.DispatcherTimer(); _processingTimer.Interval = new TimeSpan(0, 0, 0, 0, 800); _processingTimer.Tick += ProcessingTimer_Tick; MyDrawObject = new Draw(MyMap) { DrawMode = DrawMode.Polyline, IsEnabled = true, LineSymbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol }; MyDrawObject.DrawComplete += MyDrawObject_DrawComplete; } private void MyDrawObject_DrawComplete(object sender, DrawEventArgs args) { MyDrawObject.IsEnabled = false; ProcessingTextBlock.Visibility = Visibility.Visible; _processingTimer.Start(); GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; Graphic graphic = new Graphic() { Symbol = LayoutRoot.Resources["ClipLineSymbol"] as ESRI.ArcGIS.Client.Symbols.LineSymbol, Geometry = args.Geometry }; graphicsLayer.Graphics.Add(graphic); Geoprocessor geoprocessorTask = new Geoprocessor("http://serverapps.esri.com/ArcGIS/rest/services/" + "SamplesNET/USA_Data_ClipTools/GPServer/ClipCounties"); geoprocessorTask.UpdateDelay = 5000; geoprocessorTask.JobCompleted += GeoprocessorTask_JobCompleted; List<GPParameter> parameters = new List<GPParameter>(); parameters.Add(new GPFeatureRecordSetLayer("Input_Features", args.Geometry)); parameters.Add(new GPLinearUnit("Linear_unit", esriUnits.esriMiles, Int32.Parse(DistanceTextBox.Text))); geoprocessorTask.SubmitJobAsync(parameters); } private void GeoprocessorTask_JobCompleted(object sender, JobInfoEventArgs e) { Geoprocessor geoprocessorTask = sender as Geoprocessor; geoprocessorTask.GetResultDataCompleted += (s1, ev1) => { GraphicsLayer graphicsLayer = MyMap.Layers["MyResultGraphicsLayer"] as GraphicsLayer; //if (ev1.Parameter is GPFeatureRecordSetLayer) //{ // GPFeatureRecordSetLayer gpLayer = ev1.Parameter as GPFeatureRecordSetLayer; // if (gpLayer.FeatureSet.Features.Count == 0) // { // geoprocessorTask.GetResultImageLayerCompleted += (s2, ev2) => // { // GPResultImageLayer gpImageLayer = ev2.GPResultImageLayer; // gpImageLayer.Opacity = 0.5; // MyMap.Layers.Add(gpImageLayer); // ProcessingTextBlock.Text = "Greater than 500 features returned. Results drawn using map service."; // _processingTimer.Stop(); // }; // geoprocessorTask.GetResultImageLayerAsync(e.JobInfo.JobId, "Clipped_Counties"); // return; // } // foreach (Graphic graphic in gpLayer.FeatureSet.Features) // { // graphic.Symbol = LayoutRoot.Resources["ClipFeaturesFillSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; // graphicsLayer.Graphics.Add(graphic); // } //} if (ev1.Parameter is GPDataFile) { GPDataFile gpdata = ev1.Parameter as GPDataFile; Uri uri = new Uri(gpdata.Url); System.Windows.Browser.HtmlPage.Window.Navigate(uri); } ProcessingTextBlock.Visibility = Visibility.Collapsed; _processingTimer.Stop(); }; //geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "Clipped_Counties"); geoprocessorTask.GetResultDataAsync(e.JobInfo.JobId, "output_zip"); } private void GeoprocessorTask_Failed(object sender, TaskFailedEventArgs e) { MessageBox.Show("Geoprocessor service failed: " + e.Error); } private void ClearButton_Click(object sender, RoutedEventArgs e) { List<Layer> gpResultImageLayers = new List<Layer>(); foreach (Layer layer in MyMap.Layers) if (layer is GraphicsLayer) (layer as GraphicsLayer).ClearGraphics(); else if (layer is GPResultImageLayer) gpResultImageLayers.Add(layer); for (int i = 0; i < gpResultImageLayers.Count; i++) MyMap.Layers.Remove(gpResultImageLayers); MyDrawObject.IsEnabled = true; ProcessingTextBlock.Text = ""; ProcessingTextBlock.Visibility = Visibility.Collapsed; } void ProcessingTimer_Tick(object sender, EventArgs e) { if (ProcessingTextBlock.Text.Length > 20 || !ProcessingTextBlock.Text.StartsWith("Processing")) ProcessingTextBlock.Text = "Processing."; else ProcessingTextBlock.Text = ProcessingTextBlock.Text + "."; } } }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.