Windows Phone開發學習筆記(1)---------自訂彈框

來源:互聯網
上載者:User

標籤:des   style   blog   http   color   使用   

                             Windows Phone開發學習筆記(1)

                                          ---------自訂彈框

    在WP中自訂彈框是可以通過Popup類實現的。

    Popup的文法為:

            [ContentPropertyAttribute("Child")]

            [LocalizabilityAttribute(LocalizationCategory.None)]

            public class Popup : FrameworkElement, IAddChild;

     這是Popup使用的小列子

            Popup codePopup = new Popup();

            TextBlock popupText = new TextBlock();

            popupText.Text = "Popup Text";

              popupText.Background = Brushes.LightBlue;popupText.Foreground = Brushes.Blue;

            codePopup.Child = popupText;

    當然上面都是從MSDN上抄的,下面我們來使用一下:

    建立一個window phone項目,名字隨便,建立一個類用來彈框,命名MyMessageBox;在其上新增成員變數,private Popup popup;

    建立一個控制項布局檔案,命名Message,用於彈框的布局;

    在Message裡添加你想要的控制項;

    我在這裡添加的為: 

<UserControl x:Class="AppStudy_1.Message"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d"    FontFamily="{StaticResource PhoneFontFamilyNormal}"    FontSize="{StaticResource PhoneFontSizeNormal}"    Foreground="{StaticResource PhoneForegroundBrush}"    d:DesignHeight="480" d:DesignWidth="480">        <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">        <TextBlock Text="李貴發" FontSize="100" />        <Button Content="OK"/>    </Grid></UserControl>
View Code

    然後我們就可以在MyMessageBox中添加顯示的代碼了,在MyMessageBox添加方法Show(),用於顯示彈框

    首先我們要把Popup new 出來來即:popup=new Popup();

    然後new 一個StackPanel的對象用於存放彈框介面,

    將Message加入StackPanel,

    給StackPanel建立模板,

    之後將Popup 對象的位元組點設為StackPanel,

    將Popup 顯示出來

    代碼為: 

public void Show()        {            popup = new Popup();            StackPanel panel = new StackPanel();            panel.Children.Add(new AppStudy_1.Message());            panel.Children.Add(new Rectangle { Width = 480, Height = 800, Fill = new SolidColorBrush(Colors.Gray), Opacity = 0.5 });            popup.Child = panel;            popup.IsOpen = true;        }
View Code

    在主視窗中添加Button並設定單擊函數,執行Show方法;

    到此就可以顯示視窗了

    

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.