2012-06-21 29 views
0

我有一個Esri ArcGis地圖控件,我想繞過這些邊緣。我也使用Prism4.0/MEF和SL4。繞過任意內容控件

我試圖把它放在一個邊界,但不工作(ESRI的控制加載到MapRegion,在另一個模塊):

<Border Grid.Row="2" 
       Margin="2" 
       CornerRadius="25"> 
      <ContentControl 
       prism:RegionManager.RegionName="MapRegion" 
       VerticalContentAlignment="Stretch" 
       HorizontalContentAlignment="Stretch"> 
      </ContentControl> 
     </Border> 

回答

0

UPDATE:看起來這是不是可能。這不是地圖本身的錯誤,但它有點。該地圖在網格「RootElement」內使用Canvas。這個Canvas保存地圖的圖像。當使用Canvas時,它不尊重它給出的邊界。您可以使用以下XAML重現該錯誤

 <Border BorderBrush="Red" BorderThickness="2" CornerRadius="25"> 
      <Grid> 
       <Grid> 
        <Canvas> 
         <Image Source="/Images/MyPicture.png"/> 
        </Canvas> 
       </Grid> 
      </Grid> 
     </Border> 

最好的方法是設置地圖的顯式樣式。使用這種風格,任何使用的地圖都會有圓角

<Style TargetType="esri:Map"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="esri:Map"> 
       <Border CornerRadius="25" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"> 
        <Grid> 
         <Grid x:Name="RootElement" Height="Auto" Width="Auto"/> 
         <Rectangle x:Name="ZoomBox" Fill="#55FFFFFF" Stroke="Red" StrokeThickness="2" Visibility="Collapsed"/> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

Thx Shwan。我創建了一個MapStyles.xaml,從App.xaml引用。而當放大和縮小時,我看到的是圓角,但是當釋放縮放(滾輪)時,我完全填滿了,沒有顯示圓角...... –

+0

帕特里克,看起來這實際上是不可能的。我更新了我的帖子 –