2015-02-10 3 views
3

Я хочу настроить диалог мое сообщение, как показано на следующем рисункеНастройка Windows Phone 8.1 Сообщение диалоговое

enter image description here

Как выполнить, что я приготовил XAML для этого

<StackPanel Name="rootStackPanel" Height="Auto" Background="#363636" VerticalAlignment="Top"> 
     <StackPanel Margin="10"> 
      <StackPanel Margin="0,0,0,10" Orientation="Horizontal"> 
       <TextBlock x:Name="HeadingText" x:FieldModifier="public" Style="{StaticResource ApplicationMessageBoxHeadingStyle}" Text="Alert" /> 
       <Image Margin="10,05,0,0" Source="/Assets/Images/alert.png" Width="35"></Image> 
      </StackPanel> 
      <TextBlock x:FieldModifier="public" x:Name="ContentText" Style="{StaticResource ApplicationMessageBoxErrorStyle}" Text="Pease enter a valid plate number" /> 
      <Button x:FieldModifier="public" Name="OkButton" Margin="0,20,0,0" Padding="0" HorizontalAlignment="Left" Content="Ok" Style="{StaticResource ApplicationThemeButtonStyle}"/> 
     </StackPanel> 
    </StackPanel> 

ответ

5

ТОЧНОМ посмотрите, есть ли у вас нестандартные, и если вам нужна точная вещь, вам нужно будет написать какой-то пользовательский код. Если важной частью является значок в заголовке предупреждения, то это довольно легко с ContentDialog.

MessageDialog не настраивается, но ContentDialog. Существует шаблон для добавления нового ContentDialog в ваш проект с помощью меню Add.New Item ....

После того, как у вас есть ваши файлы ContentDialog вы можете настроить шаблон заголовка своей кнопкой «OK»:

<ContentDialog 
    x:Class="MyApp.AlertDialog" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:MyApp" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    Title="Alert" 
    PrimaryButtonText="OK" 
    PrimaryButtonClick="ContentDialog_PrimaryButtonClick" 
    > 

И включают в свой alert.png вместе с титулом в шаблоне заголовка. Более продвинутая версия позволит привязать разные значки для разных целей. Вы также можете заполнить путь, а не рисовать png, чтобы значок масштабировался более легко.

<ContentDialog.TitleTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <TextBlock Text="{Binding}" Foreground="{ThemeResource PhoneAccentBrush}"/> 
       <Image Source="/Assets/Images/alert.png" /> 
      </StackPanel> 
     </DataTemplate> 
    </ContentDialog.TitleTemplate> 

А потом включать остальное содержимое в Xaml в ContentDialog в:

<StackPanel> 
    <TextBlock x:FieldModifier="public" x:Name="ContentText" Style="{StaticResource ApplicationMessageBoxErrorStyle}" Text="Pease enter a valid plate number" /> 
</StackPanel> 

Это поместит кнопку OK в стандартизированном месте в правом нижнем углу. Если вы хотите включить его в текст, вы можете вставить его в свой StackPanel, как в своем примере кода, и не устанавливать PrimaryButtonText в ContentDialog.

0

Создайте Usercontrol в проекте. Поместите весь код xaml в Usercontrol. Теперь вы можете использовать этот Usercontrol как всплывающее окно, где бы вы его ни использовали.

Popup msgpopup = new Popup(); 
msgpopup.child = new CustomisedMessageDialogControl(); //name of ur Usercontrol 

И открыть этот диалог просто

msgpopup.IsOpen = true;