Silverlight 3 プロジェクトを Silverlight 4 に変換しています。最近プロジェクトを実行できるようになりましたが、検索ウィンドウのインスタンス化で問題が発生しています。VSは私に次のエラーを投げました:
Microsoft JScript runtime error: Unhandled Error in Silverlight Application Set property 'System.Windows.FrameworkElement.Style' threw an exception. [Line: 242 Position: 46] at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at ESM.Visualization.SearchWindow.InitializeComponent()
at ESM.Visualization.SearchWindow..ctor(Map mapWindow, String addressServiceUrl, String projectServiceUrl)
at ESM.Visualization.MainPage.InstantiateSearchWindow()
at ESM.Visualization.MainPage.MapWindow_Progress(Object sender, ProgressEventArgs e)
at ESRI.ArcGIS.Client.Map.layersProgressHandler(Object sender, ProgressEventArgs args)
at ESRI.ArcGIS.Client.LayerCollection.layer_OnProgress(Object sender, ProgressEventArgs args)
at ESRI.ArcGIS.Client.Layer.ProgressHandler.Invoke(Object sender, ProgressEventArgs args)
at ESRI.ArcGIS.Client.Layer.OnProgress(Int32 progress)
at ESRI.ArcGIS.Client.DynamicLayer.bitmap_DownloadProgress(Object sender, DownloadProgressEventArgs e, Image img, EventHandler`1 onProgressEventHandler, Int32 id)
at ESRI.ArcGIS.Client.DynamicLayer.<>c__DisplayClass7.<getSourceComplete>b__4(Object sender, DownloadProgressEventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
エラーを調査し、この解決策に従って Silverlight を再インストールしてみました。しかし、エラーはまだ発生しました。this SO questionを見ましたが、私の App.xaml はほとんど 242 行ではありません。242 行目あたりの MainPage.xaml は次のとおりです。
<StackPanel Orientation="Vertical" HorizontalAlignment="Left" Grid.Row="2" VerticalAlignment="Bottom">
<esriToolkit:Navigation x:Name="MapNavigation" Margin="5" Map="{Binding ElementName=MapWindow}" Visibility="Collapsed" />
<!--<esri:ScaleBar x:Name="MainScaleBar" Margin="5" MapUnit="DecimalDegrees" Foreground="Black"
Map="{Binding ElementName=MapWindow}"
DisplayUnit="Miles" Visibility="Visible" />-->
</StackPanel>
インスタンス化しようとしている検索ウィンドウの .xaml は次のとおりです (242 行目あたり)。
<grid:AgDataGrid x:Name="grdAddressResults" Grid.Row="1" Grid.Column="0" ColumnsAutoWidth="True"
ShowTotals="False" FocusMode="Row" FocusedRowChanged="grdResults_FocusedRowChanged"
IsMultiSelect="False" Margin="0,10,0,0">
<grid:AgDataGrid.Columns>
<grid:AgDataGridColumn FieldName="Address" />
<grid:AgDataGridColumn FieldName="X" Visible="False" />
<grid:AgDataGridColumn FieldName="Y" Visible="False" />
</grid:AgDataGrid.Columns>
<grid:AgDataGrid.TotalSummary>
<grid:AgDataGridSummaryItem FieldName="Address" SummaryType="Count" Title="Matches Found" />
</grid:AgDataGrid.TotalSummary>
</grid:AgDataGrid>