我有这样的MessageDialog代码:
MessageDialog dlg = new MessageDialog("None of the images you selected contain location information. You can add your own after downloading http://exifpilot.com/");
await dlg.ShowAsync();
我不想让它显示那样(带有原始/无聊的文本),我想让链接可以点击。是否可以将HyperlinkButton作为其中一个按钮嵌入到MessageDialog中,或者更好的是,使文本的相应部分可单击/可点击?可以使用XAML或HTML作为文本值来实现这一点,或者几乎不可能吗?
我已经安装了Callisto的1.4.0.0版本,但是有了这个XAML:
<Page
. . .
xmlns:Controls="using:Callisto.Controls"
mc:Ignorable="d">
<callisto:CustomDialog x:FieldModifier="public" x:Name="GetPhotosetName"
Title="Photoset Name"
Background="Teal" BackButtonVisibility="Visible">
<StackPanel>
<TextBlock Margin="0,0,0,8" FontSize="14.6667" FontWeight="SemiLight" TextWrapping="Wrap">
Enter a name for the photoset you are creating
</TextBlock>
<TextBlock Margin="0,0,0,8" FontSize="14.6667" FontWeight="SemiLight" Text="Enter your name for acceptance" />
<callisto:WatermarkTextBox HorizontalAlignment="Left" Watermark="Enter the photoset name" Width="400" Height="35" />
<StackPanel Margin="0,20,0,0" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Content="OK" Width="90" Margin="0,0,20,0" />
<Button Content="CANCEL" Width="90" Click="DialogCancelClicked" />
</StackPanel>
</StackPanel>
</callisto:CustomDialog>
...我得到了几个错误的消息,例如&#34; 类型&#39; callisto:CustomDialog&#39;没找到。验证您是否缺少程序集引用,并且已构建所有引用的程序集。&#34;和&#34; 命名空间前缀&#34; callisto&#34;未定义。&#34; Windows应用程序项目中不支持&#34; CustomDialog。&#34;
注意:我将XAML改为smidgen,来自:
callisto:WatermarkTextBox x:Name="txtbxPhotosetName" HorizontalAlignment="Left" Watermark="Enter the photoset name" Width="400" Height="35" />
...为:
<TextBox x:Name="txtbxPhotosetName" HorizontalAlignment="Left" PlaceholderText="Enter the photoset name" Width="400" Height="35" />
...因为警告我发现水印功能现在可以通过PlaceholderText属性原生地用于TextBoxes。
答案 0 :(得分:2)
没有。 MessageDialog不可自定义,但您可以创建自己的控件,模仿MessageDialog的外观(以及自定义增强功能)。
有几个可用的自定义对话框(例如在http://callistotoolkit.com/中),或者你可以很容易地拼凑一次。最小版本可以是一个弹出窗口,其中包含一个部分透明背景的三行网格和中心行中带有超链接的TextBlock。
还要考虑MessageDialog是否是表示错误的正确方法,而不是内联显示错误消息。请参阅Guidelines for Message dialogs和Choosing the right UI surfaces: Errors。
- 罗布