分享

Windows8PopUp

 牛人的尾巴 2015-12-01

Windows8PopUp

(2013-01-15 08:50:38)
标签:

杂谈

//Simple PopUp
        <Grid x:Name="Output" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="1">
            <StackPanel>
                <Button Content="Show Popup (using Offset)" Click="ShowPopupOffsetClicked" />
            </StackPanel>
            <Popup VerticalOffset="50" HorizontalOffset="150" x:Name="msiPopup">
                <Border BorderBrush="{StaticResource ApplicationForegroundThemeBrush}" BorderThickness="2" 
                        Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Width="200" Height="200">
                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                        <TextBlock Text="Simple Popup" FontSize="24.667" HorizontalAlignment="Center" />
                        <Button Content="Close" Click="ClosePopupClicked" HorizontalAlignment="Center" />
                    </StackPanel>
                </Border>
            </Popup>
        </Grid>

        private void ShowPopupOffsetClicked(object sender, RoutedEventArgs e)
        {
            if (!msiPopup.IsOpen)
                msiPopup.IsOpen = true;
        }

        private void ClosePopupClicked(object sender, RoutedEventArgs e)
        {
            if (msiPopup.IsOpen) 
                msiPopup.IsOpen = false;
        }

//Show PopUp(with Parent) & Show PopUp(with NoParent)
//PopupInputContent
<UserControl
    x:Class="XAMLPopup.PopupInputContent"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:XAMLPopup"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas./markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400">
    <Grid>
        <StackPanel>
            <TextBlock Text="Type some input" FontSize="24.667" />
            <TextBox Width="300" Height="55" />
            <Button Content="Save" Click="SimulateSaveClicked" />
        </StackPanel>
    </Grid>
</UserControl>

        <Grid x:Name="Output" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="1">
            <StackPanel>
                <Button Content="Show Popup (with Parent)" Click="ShowPopupWithParentClicked" />
                <Button Content="Show Popup (no Parent)" Click="ShowPopupWithoutParentClicked" />
            </StackPanel>
            <Popup x:Name="ParentedPopup" HorizontalOffset="200" VerticalOffset="200">
                <local:PopupInputContent />
            </Popup>
        </Grid>

        private void ShowPopupWithParentClicked(object sender, RoutedEventArgs e)
        {
            if (!ParentedPopup.IsOpen) 
                ParentedPopup.IsOpen = true; 
        }

        private Popup nonParentPopup;
        private void ShowPopupWithoutParentClicked(object sender, RoutedEventArgs e)
        {
            if (nonParentPopup == null)
            {
                nonParentPopup = new Popup();
                nonParentPopup.Closed += (senderPopup, argsPopup) =>
                    {
                        nonParentPopup = null;
                    };
                nonParentPopup.HorizontalOffset = 200;
                nonParentPopup.VerticalOffset = 580;
                nonParentPopup.Child = new PopupInputContent();
                nonParentPopup.IsOpen = true;
            }
        }



//PopUp as FlyOut & LightDismiss
        <Grid x:Name="Output" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="1">
            <StackPanel>
                <Button Content="Show Popup (with light dismiss)" Click="ShowPopupLightDismissClicked" />
                <Button Content="Show Popup (with light dismiss and animations)" Click="ShowPopupAnimationClicked" />
                <Button Content="Show Popup (simulating Settings)" Click="ShowPopupSettingsClicked" />
            </StackPanel>
            <Popup x:Name="LightDismissSimplePopup" HorizontalOffset="200" VerticalOffset="10" IsLightDismissEnabled="True">
                <Border BorderBrush="Black" BorderThickness="2" Background="White" Width="200" Height="200">
                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                        <TextBlock Text="Simple Popup" FontSize="24.667" HorizontalAlignment="Center" />
                        <Button Content="Close" Click="ClosePopupClicked" HorizontalAlignment="Center" />
                    </StackPanel>
                </Border>
            </Popup>
            <Popup x:Name="LightDismissAnimatedPopup" HorizontalOffset="200" VerticalOffset="10" IsLightDismissEnabled="True">
                <Popup.ChildTransitions>
                    <TransitionCollection>
                        <PopupThemeTransition />
                    </TransitionCollection>
                </Popup.ChildTransitions>
                <Border BorderBrush="Black" BorderThickness="2" Background="White" Width="200" Height="200">
                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                        <TextBlock Text="Simple Popup" FontSize="24.667" HorizontalAlignment="Center" />
                        <Button Content="Close" Click="CloseAnimatedPopupClicked" HorizontalAlignment="Center" />
                    </StackPanel>
                </Border>
            </Popup>
            <Popup x:Name="SettingsAnimatedPopup" IsLightDismissEnabled="True">
                <Popup.ChildTransitions>
                    <TransitionCollection>
                        <PaneThemeTransition />
                    </TransitionCollection>
                </Popup.ChildTransitions>
                <Border BorderBrush="Black" BorderThickness="2" Background="White" x:Name="RootPopupBorder" Width="646">
                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
                        <TextBlock Text="Simple Popup" FontSize="24.667" HorizontalAlignment="Center" />
                        <Button Content="Close" Click="CloseSettingsPopupClicked" HorizontalAlignment="Center" />
                    </StackPanel>
                </Border>
            </Popup>
        </Grid>


        private void ShowPopupLightDismissClicked(object sender, RoutedEventArgs e)
        {
            if (!LightDismissSimplePopup.IsOpen) { LightDismissSimplePopup.IsOpen = true; }
        }
        private void ClosePopupClicked(object sender, RoutedEventArgs e)
        {
            if (LightDismissSimplePopup.IsOpen) { LightDismissSimplePopup.IsOpen = false; }
        }


        private void ShowPopupAnimationClicked(object sender, RoutedEventArgs e)
        {
            if (!LightDismissAnimatedPopup.IsOpen) { LightDismissAnimatedPopup.IsOpen = true; }
        }
        private void CloseAnimatedPopupClicked(object sender, RoutedEventArgs e)
        {
            if (LightDismissAnimatedPopup.IsOpen) { LightDismissAnimatedPopup.IsOpen = false; }
        }


        private void ShowPopupSettingsClicked(object sender, RoutedEventArgs e)
        {
            if (!SettingsAnimatedPopup.IsOpen) 
            {
                SettingsAnimatedPopup.HorizontalOffset = Window.Current.Bounds.Width - RootPopupBorder.Width;
                SettingsAnimatedPopup.IsOpen = true; 
            }
        }
        private void CloseSettingsPopupClicked(object sender, RoutedEventArgs e)
        {
            if (SettingsAnimatedPopup.IsOpen) { SettingsAnimatedPopup.IsOpen = false; }
        }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多