3

私は完全に無知な問題に遭遇しました。次のエラーメッセージが表示されます。

指定されたビジュアルとビジュアルは共通の祖先を共有していないため、2つのビジュアル間に有効な変換はありません。

これは、ユーザーが地図上のポイントをクリックしたときに呼び出されます。どんな助けでもいただければ幸いです。エラーのスニペットを添付しました。コードサンプルがもう必要な場合は、お知らせください。

これが私の関連するXAMLです:

(<)inf:DialogWindowBase x:Class = "Alliance.CommonUI.Views.Maps.EsriMapView"

<Grid>

<Grid>
 <DataTemplate x:Key="MyFeatureLayerInfoWindowTemplate">
                    <TextBlock Text="Content" Foreground="White" FontSize="12" />
                </DataTemplate>
                <esri:SimpleRenderer x:Key="MySimpleRenderer">
                    <esri:SimpleRenderer.Symbol>
                        <esri:SimpleFillSymbol Fill="#01FFFFFF" BorderBrush="#88000000" BorderThickness="2" />
                    </esri:SimpleRenderer.Symbol>
                </esri:SimpleRenderer>
 </Grid.Resources>

            <esri:Map x:Name="MyMap" Background="#FFE3E3E3" WrapAround="True" MouseClick="MyMap_MouseClick" MouseRightButtonDown="MyMap_MouseRightButtonDown" Extent="-9834972.92753924,4441899.425293319,-9833977.88119163, 4442762.485358352">
                <esri:ArcGISTiledMapServiceLayer ID="MyLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" />
                <!--<esri:ArcGISLocalDynamicMapServiceLayer ID="Calvert_City" Path="C:\Users\jessical\Documents\ArcGIS\CalvertCity_Test.mpk"/>-->
                <esri:ArcGISDynamicMapServiceLayer  ID="Calvert_City" Url="http://localhost:6080/arcgis/rest/services/CalvertCity_Test_2/MapServer"/>
                <esri:FeatureLayer ID="MyFeatureLayer"  Url="http://localhost:6080/arcgis/rest/services/CalvertCity_Test_2/MapServer/0"
                            Renderer="{StaticResource MySimpleRenderer}" />
</esri:Map>

            <Border Background="{StaticResource PanelGradient}" BorderThickness="1" CornerRadius="5"
            HorizontalAlignment="Left"  VerticalAlignment="Top"
            Margin="20" Padding="5" BorderBrush="Black" >
                <esri:Legend Map="{Binding ElementName=MyMap}"
                         LayerIDs="Calvert_City"
                         LayerItemsMode="Tree"
                         ShowOnlyVisibleLayers="False"
                         Refreshed="Legend_Refreshed">
                    <esri:Legend.MapLayerTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <CheckBox Content="{Binding Label}"
                                    IsChecked="{Binding IsEnabled, Mode=TwoWay}"
                                    IsEnabled="{Binding IsInScaleRange}" >
                                </CheckBox>
                                <Slider Maximum="1" Value="{Binding Layer.Opacity, Mode=TwoWay}" Width="50" />
                            </StackPanel>
                        </DataTemplate>
                    </esri:Legend.MapLayerTemplate>
                    <esri:Legend.LayerTemplate>
                        <DataTemplate>
                            <CheckBox Content="{Binding Label}"
                            IsChecked="{Binding IsEnabled, Mode=TwoWay}"
                            IsEnabled="{Binding IsInScaleRange}" >
                            </CheckBox>
                        </DataTemplate>
                    </esri:Legend.LayerTemplate>
                </esri:Legend>
            </Border>
            <esri:InfoWindow x:Name="MyInfoWindow"
                         Padding="2"
                         CornerRadius="20"
                         Background="{StaticResource PanelGradient}"
                         Map="{Binding ElementName=MyMap}"
                         ContentTemplate="{StaticResource MyFeatureLayerInfoWindowTemplate}"
                         MouseLeftButtonUp="MyInfoWindow_MouseLeftButtonUp" />

ここに画像の説明を入力してください ここに画像の説明を入力してください

4

2 に答える 2

2

SciChart のサードパーティ コントロールを使用してこのエラーが発生していました。エラーが隠れてスローされていて、デバッガーがエラーが処理されていないように見えることがわかりました。ただし、このタイプの例外でブレークをオフにして、catch ステートメントにブレーク ポイントを配置したところ、例外は catch ブロックに分類されませんでした。私はこれらすべてに多少混乱していますが、うまくいっているようです。

したがって、私の提案は、デバッガーがこのタイプの例外で中断しないようにして、それがどのように機能するかを確認することです。

于 2016-08-17T16:12:07.853 に答える
1

TransformToVisual を使用しています。TransformToAncestor である必要があります。

于 2012-11-08T21:59:38.477 に答える