Silverlight 绕过任意内容控件
我有一个Esri ArcGis地图控件,我想将其边缘环绕。我还使用Prism4.0/MEF和SL4 我尝试将其放置在边框中,但这不起作用(Esri控件加载到另一个模块中的MapRegion中):Silverlight 绕过任意内容控件,silverlight,esri,Silverlight,Esri,我有一个Esri ArcGis地图控件,我想将其边缘环绕。我还使用Prism4.0/MEF和SL4 我尝试将其放置在边框中,但这不起作用(Esri控件加载到另一个模块中的MapRegion中): 更新:看起来这是不可能的。这并不是地图本身的一个bug,但有点像。地图在网格“RootElement”中使用画布。此画布包含地图的图像。当使用画布时,它不尊重给定的边界。您可以使用以下XAML重现该错误 <Border BorderBrush="Red" BorderThickne
更新:看起来这是不可能的。这并不是地图本身的一个bug,但有点像。地图在网格“RootElement”中使用画布。此画布包含地图的图像。当使用画布时,它不尊重给定的边界。您可以使用以下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>
Thx Shwan。我已经创建了一个MapStyles.xaml,从App.xaml引用。当放大和缩小时,我会看到一点圆角,但当释放缩放(滚轮)时,我会被填满,没有显示圆角……帕特里克,看起来这实际上是不可能的。我更新了我的帖子
<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>