如何解决弹出窗口:页边距有问题
| 我正在开发Windows Phone应用。 我使用一个用户控件来显示一个弹出窗口:<UserControl x:Class=\"XXXXXXX.Views.Lists.GameDescriptionControl\"
xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"
xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"
xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\"
xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\"
mc:Ignorable=\"d\"
FontFamily=\"{StaticResource PhoneFontFamilyNormal}\"
FontSize=\"{StaticResource PhoneFontSizeNormal}\"
Foreground=\"{StaticResource PhoneForegroundBrush}\" Height=\"290\" Width=\"460\">
<Grid x:Name=\"LayoutRoot\" Background=\"{StaticResource PhoneChromeBrush}\" Margin=\"0,0\" Width=\"460\">
<Grid.RowDefinitions>
<RowDefinition Height=\"Auto\"/>
<RowDefinition Height=\"133\"/>
<RowDefinition Height=\"86\"/>
</Grid.RowDefinitions>
<TextBlock HorizontalAlignment=\"Center\" Margin=\"10\" Name=\"gameDescription\" Text=\"\" VerticalAlignment=\"Top\" TextWrapping=\"Wrap\" Grid.Row=\"1\" Style=\"{StaticResource PhoneTextTitle3Style}\" />
<Button Content=\"{Binding Path=AppResources.Yes,Source={StaticResource LocalizedStrings}}\" Height=\"72\" HorizontalAlignment=\"Left\" Margin=\"50,5,0\" Name=\"okButton\" VerticalAlignment=\"Top\" Width=\"160\" Click=\"okButton_Click\" Grid.Row=\"2\" />
<Button Content=\"{Binding Path=AppResources.No,Source={StaticResource LocalizedStrings}}\" Height=\"72\" HorizontalAlignment=\"Left\" Margin=\"244,0\" Name=\"cancelButton\" VerticalAlignment=\"Top\" Width=\"160\" Click=\"cancelButton_Click\" Grid.Row=\"2\" />
<TextBlock Grid.Row=\"0\" x:Name=\"caption\" HorizontalAlignment=\"Left\" Margin=\"10\" TextWrapping=\"Wrap\" Text=\"{Binding Path=AppResources.Description,Source={StaticResource LocalizedStrings}}\" Style=\"{StaticResource PhoneTextLargeStyle}\"/>
</Grid>
</UserControl>
这是显示弹出窗口的代码:
private void showInfo(int gameId)
{
string gameDesc = getGameInfo(gameId);
p = new Popup();
GameDescriptionControl gd = new GameDescriptionControl();
gd.Description = gameDesc;
gd.OkClicked += new EventHandler(gd_OkClicked);
gd.CancelClicked += new EventHandler(gd_CancelClicked);
p.Child = gd;
// Set where the popup will show up on the screen.
p.VerticalOffset = 10;
p.HorizontalOffset = 10;
// Open the popup.
p.IsOpen = true;
}
但是我得到这个:
如您所见,字幕TextBlock的页边空白不大。
有什么建议吗?
解决方法
边距将指代文本块之外的区域。如果要将文本从文本块的边缘移开,则需要使用“填充”属性。
,不像回形针这个词,但看起来您正在尝试创建自定义MessageBox。
检出此实施情况:http://cloudstore.blogspot.com/2011/01/customizing-messagebox-on-windows-phone.html。它是一个易于使用的消息框的出色实现,其外观/行为与真实的MessageBox十分接近,并且是轻量级的。
添加解决方案附带的几个文件,您要做的就是:
private MessageBoxService mbs = new MessageBoxService();
...
mbs.Closed +=new System.EventHandler(mbs_Closed);
mbs.Show(\"Confirm?\",\"Are you sure you wish to do that?\",MessageBoxServiceButton.YesNo,null);
void mbs_Closed(object sender,System.EventArgs e)
{
mbs.Closed -= mbs_Closed;
if (mbs.Result == MessageBoxResult.Yes)
{
...
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。