Silverlight 5 beta版本總算於昨日放出,懷著激動的心情今天將開發環境更新為Silverlight 5 beta版本,並且接觸Silverlight 5 beta的第一個新特性:OOB模式下的多視窗的彈出顯示。
現在我們開始Silverlight 5 Beta版本的安裝,首先需要為VS2010打一個VS2010 SP1補丁,然後我們再下載Silverlight 5 Beta Tools for Visual Studio SP1,一步一步安裝完畢,最後我們下載Silverlight 5 Features Document 新特性的文檔。至此我們即可踏上Silverlight 5開發的征程。
對於Silverlight 5 beta版本下面的新視窗的支援是基於OOB模式下的,所以我們首先建立一個Silverlight 5的應用程式,然後右鍵項目屬性-->"允許瀏覽器外運行應用程式"勾中-->點擊"瀏覽器外設定"-->"在瀏覽器外運行時需要更高的信任"勾上。如所示:
然後我們在後台代碼中鍵入以下代碼即可彈出一個視窗,點擊視窗中的按鈕我們可以繼續快顯視窗,實現了無限制的快顯視窗。當然所有彈出的子視窗都是依賴於父視窗而存在的。(Tip:在Silverlight 4.0中的Window類修改的大小都是自身視窗的大小,並不能快顯視窗)
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
PopWindow(400.0, 20.0, "第"+Flag+"個執行個體視窗");
}
public static int Flag = 0;
private void PopWindow(double left,double top,string title )
{
//設定Window的通用屬性
Window testWindow = new Window();
testWindow.Height = 400;
testWindow.Width = 500;
testWindow.Top = top;
testWindow.Left = left;
testWindow.Title = title;
testWindow.Visibility = Visibility.Visible;
//添加一個內部有按鈕的Canvas,設定Canvas的背景色為白色
Button btn=new Button();
btn.Width=80.0;
btn.Height=30.0;
btn.Content="點 擊";
btn.Margin = new Thickness(5, top + Flag * 10, 0, 0);
btn.Click += new RoutedEventHandler(btn_Click);
Canvas canvas = new Canvas();
canvas.Children.Add(btn);
canvas.Background = new SolidColorBrush(Colors.White);
testWindow.Content = canvas;
//視窗預設值是WindowState.Normal正常情況
testWindow.WindowState = WindowState.Normal;
//WindowState.Maximized; 視窗最大化
//WindowState.Minimized; 視窗最小化
//WindowState.Normal; 普通視窗
void btn_Click(object sender, RoutedEventArgs e)
{
PopWindow(400.0, 20.0, "第"+Flag+"個執行個體視窗");
}
}
本執行個體採用VS2010 +Silverlight 5 beta製作,如需源碼請點擊 SL5First.zip 下載。