• Silverlight for Windows Phone 7Popup


      在Windows Phone 7开发者我在不使用Progressbar的前提下又想告诉用户程序正在运行,显示一个进度对话框,这时我们就可以用Popup。

    前台

     <Popup x:Name="ProgressPopup" Width="300" IsOpen="False" HorizontalAlignment="Center"
                       VerticalAlignment="Top" d:LayoutOverrides="Width, HorizontalMargin" Margin="89,203,91,0">
                    <Border BorderThickness="10" BorderBrush="Black" Background="DarkGray" Padding="30,30">
                        <StackPanel>
                            <TextBlock MaxHeight="100" Foreground="White"  FontWeight="Bold"  FontSize="36" x:Name="txt" Text="1">
                                <TextBlock.Triggers>
                                    <EventTrigger RoutedEvent="TextBlock.Loaded">
                                        <BeginStoryboard> <Storyboard>
                                            <DoubleAnimation   AutoReverse="True" Duration="0:0:1"
                                         From="1.0" RepeatBehavior="Forever"  Storyboard.TargetName="txt" Storyboard.TargetProperty="Opacity"   To="0.0"/> 
                                        </Storyboard>
                                        </BeginStoryboard>                            
                                    </EventTrigger>                       
                                </TextBlock.Triggers>
                            </TextBlock>
                        </StackPanel>
                    </Border>
                </Popup>

    后台

     public partial class MainPage : PhoneApplicationPage
        {
            Storyboard _timer = new Storyboard();
          
            int i=0;
            public MainPage()
            {
                InitializeComponent();

                _timer.Duration = TimeSpan.FromMilliseconds(10);
                _timer.Completed += new EventHandler(_timer_Completed);
                _timer.Begin();
                 i = Convert.ToInt32(txt.Text);
            }

            private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
            {
                this.Dispatcher.BeginInvoke(new Action(() => ProgressPopup.IsOpen = true));
            }

            void _timer_Completed(object sender, EventArgs e)
            {
               
                if (i <= txt.MaxHeight)
                {
                    i++;
                    this.txt.Text = i.ToString();
                    _timer.Begin();

                    return;
                }

                this.Dispatcher.BeginInvoke(new Action(() => { ProgressPopup.IsOpen = false; }));
            }

        }

  • 相关阅读:
    考研岁月
    sklearn 翻译笔记:KNeighborsClassifier
    网站不让复制的办法
    关于VMware Workstation 15 Player 虚拟机安装Windows系统却无法安装vmware tools的解决
    今天真是太傻了
    GoogleHacking相关技巧
    判断ARP欺骗
    Linux各个文件及其含义
    小白的开始—转一篇Linux系统入门的文章
    课时39.细线表格(理解)
  • 原文地址:https://www.cnblogs.com/salam/p/1917919.html
Copyright © 2020-2023  润新知