xaml - 如何显示 Callisto WinRT 工具包中的自定义对话框?

标签 xaml windows-8 customdialog callisto

我的问题就是这样。我应该如何显示 Callisto 工具包中的 CustomDialog 控件?我有以下 xaml:

<controls:LayoutAwarePage
x:Name="pageRoot"
x:Class="HeronClientWindowsStore.Views.SuggestEventDialogPage"
DataContext="{Binding DefaultViewModel, RelativeSource={RelativeSource Self}}"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HeronClientWindowsStore.Views"
xmlns:controls="using:HeronClientWindowsStore.Controls"
xmlns:callisto="using:Callisto.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Page.Resources>
</Page.Resources>

<callisto:CustomDialog 
                     x:FieldModifier="public" 
                     x:Name="suggestEventDialog" 
                     Width="300" Height="500"
                     Title="Suggest an Event" 
                     Background="Teal" 
                     BackButtonVisibility="Visible">
    <StackPanel>
        <TextBlock 
                  Margin="0,0,0,8" 
                  Text="Suggest an event that should be added to Heron."
                  FontSize="14.6667" 
                  FontWeight="SemiLight" 
                  TextWrapping="Wrap" />
        <TextBlock
                  Margin="0,0,0,8"
                  FontSize="14.6667" 
                  FontWeight="SemiLight" 
                  Text="Event URL" />
        <callisto:WatermarkTextBox 
                  HorizontalAlignment="Left" 
                  Watermark="http://www.example.com" 
                  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" />
        </StackPanel>
    </StackPanel>
</callisto:CustomDialog>

它没有显示,我看不到任何触发它的方法。

最佳答案

您必须使用IsOpen属性来打开对话框。

我在这里粘贴了我的工作代码。

XAML

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Button Content="Show Dialog" Click="btnShowDialog_Click" />
    <callisto:CustomDialog 
                 x:FieldModifier="public" 
                 x:Name="suggestEventDialog" 
                 Title="Suggest an Event" 
                 Background="Teal" 
                 BackButtonVisibility="Visible"
                 BackButtonClicked="suggestEventDialog_BackButtonClicked_1">
        <StackPanel>
            <TextBlock 
              Margin="0,0,0,8" 
              Text="Suggest an event that should be added to Heron."
              FontSize="14.6667" 
              FontWeight="SemiLight" 
              TextWrapping="Wrap" />
            <TextBlock
              Margin="0,0,0,8"
              FontSize="14.6667" 
              FontWeight="SemiLight" 
              Text="Event URL" />
            <callisto:WatermarkTextBox 
              HorizontalAlignment="Left" 
              Watermark="http://www.example.com" 
              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" />
            </StackPanel>
        </StackPanel>
    </callisto:CustomDialog>
</Grid>

C#

private void btnShowDialog_Click(object sender, RoutedEventArgs e)
{
    suggestEventDialog.IsOpen = true;
}

private void suggestEventDialog_BackButtonClicked_1(object sender, RoutedEventArgs e)
{
    suggestEventDialog.IsOpen = false;
}

关于xaml - 如何显示 Callisto WinRT 工具包中的自定义对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15891053/

相关文章:

wpf - WPF MVVM-TreeView中项目的样式丢失

wpf - XAML 命名空间命名约定

javascript - 如何将 WinJS ListView 绑定(bind)到 Web 服务?

xml - 我可以创建自己的 Live Tile XML 模板吗?

android - 自定义对话框高度以匹配内容

c# - 在 Window.SizeToContent = SizeToContent.WidthAndHeight 的情况下,窗口内容的布局不正确

wpf - 当转换器位于 UserControl.Resources 中时,XAML 设计器 "cannot find type"

wpf - Windows 8 下的 WPF 和 Silverlight 的 future 会怎样?

Android 自定义对话框因布局而膨胀 - 对齐问题

android - 将信息从 CustomDialog 传递到主 Activity