我正在开发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。 我在这里缺少什么?
答案 0 :(得分:3)
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();