標籤: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方法;
到此就可以顯示視窗了