Windows Phone 8.1中ContentDialog的边框
本文关键字:ContentDialog 边框 Phone Windows | 更新日期: 2023-09-27 18:11:36
我正在开发Windows Phone 8.1 (Windows RT应用程序)的应用程序。我想显示一个带有白色边框的ContentDialog,我可以看到对话框,但是我无法看到任何边框。我已经为它定义了我自己的xaml,因为我经常使用这个对话框,我想在一个地方有共同的设置。下面是XAML:
<ContentDialog
x:Class="MyNamespace.MyDialog"
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"
Margin="10,330,10,0"
Height="200"
Width="340"
Padding="10"
Background="Black"
BorderBrush="White"
BorderThickness="10">
</ContentDialog>
我从代码(c#)中使用它,像这样:
mPopup = new MyDialog()
{
Title = "",
Content = "Hello World",
PrimaryButtonText = "OK",
IsSecondaryButtonEnabled = false,
};
mPopup.ShowAsync();
我也试过从cs设置边界属性,但没有任何运气。基于MSDN文档,你可以为ContentDialog指定BorderBrush和BorderThickness。我遗漏了什么?
ContentDialog
类扩展了ContentControl
,因此包含了BorderBrush
和BorderThickness
属性,但是在显示时它们被忽略。
要创建边框,您需要指定具有边框的自定义内容,例如Border
元素,TextBlock
作为其子元素:
var mPopup = new ContentDialog()
{
Title = "",
PrimaryButtonText = "OK",
IsSecondaryButtonEnabled = false,
Content = new Border()
{
HorizontalAlignment = HorizontalAlignment.Stretch,
BorderThickness = new Thickness(10),
BorderBrush = new SolidColorBrush(Colors.White),
Child = new TextBlock()
{
Text = "Hello World",
FontSize = 20,
Foreground = new SolidColorBrush(Colors.White),
HorizontalAlignment = HorizontalAlignment.Left,
VerticalAlignment = VerticalAlignment.Top
}
}
};
mPopup.ShowAsync();