我按照这个例子在Coding4Fun MessagePrompt中显示我的usercontrol。 http://windowsphonegeek.com/articles/Creating-a-Windows-Phone-7-Trial-Application-Adding-Buy-Now-Functionality
当点击页面底部的主页图标时,我打开MessagePromt,其中包含带有两个按钮的UserControl,如下图所示。
但由于某种原因,出现了这种浅白色边框,我无法确定它的来源。
注意:我为usercontorl及其中的所有控件设置了border transparent和0 thick。 我只是想显示蓝色面板而没有白色边框,它的宽度是300,就像它看到的那样。
有人有任何想法吗?
答案 0 :(得分:2)
我在apphub论坛上得到了“Eric Fleck - Microsoft”的帮助。这是他的解决方案:
<phone:PhoneApplicationPage
...
xmlns:c4f="clr-namespace:Coding4Fun.Phone.Controls;assembly=Coding4Fun.Phone.Controls">
<phone:PhoneApplicationPage.Resources>
<ControlTemplate x:Key="MsgPropmtNoBorder" TargetType="c4f:MessagePrompt">
<Grid VerticalAlignment="Stretch">
<Rectangle Fill="{StaticResource TransparentBrush}" />
<Border VerticalAlignment="Top"
Margin="10"
Background="{TemplateBinding Background}"
BorderThickness="0"
BorderBrush="{StaticResource PhoneForegroundBrush}">
<StackPanel Margin="10">
<TextBlock
Text="{TemplateBinding Title}"
Margin="0,-10,-25,10"
FontSize="30"
TextWrapping="Wrap" FontFamily="Segoe WP Light" />
<ContentPresenter Content="{TemplateBinding Body}" />
<StackPanel
Margin="0,10,0,0"
Name="actionButtonArea"
Orientation="Horizontal"
HorizontalAlignment="Center" />
</StackPanel>
</Border>
</Grid>
</ControlTemplate>
</phone:PhoneApplicationPage.Resources>
MessagePrompt prompt = new MessagePrompt();
prompt.Body = new WPUC();
prompt.ActionPopUpButtons.Clear();
prompt.Overlay = new SolidColorBrush(Color.FromArgb(155, 41, 41, 41));
prompt.Template = (ControlTemplate)this.Resources["MsgPropmtNoBorder"];
prompt.Show();
这是弹出的结果:
答案 1 :(得分:0)
我使用MessagePrompt控件玩了一下,它找不到任何方法来禁用或隐藏边框。它是MessagePrompt控件中的一种阴影效果,可以提供类似弹出的外观。
但是,尽管你无法删除它,但是你可以通过将MessagePrompt的Width属性设置为等于你的实际蓝色UserControl(在这种情况下为300)来减少它的效果。