UserControl用處:
在開發一個項目時,往往MainPanel會載入很多控制項,但是控制項多了不僅不美觀而且維護起來相當費事。UserConrtol不僅可以自訂控制項,而且還可以將一塊布局的控制項載入到主介面上,這樣方便維護、條理清晰。添加新項 > Windows Phone使用者控制項即可。可以在建立的UserControl上(MainControl使用者控制項名稱)的<Grid .....中隨意定義和使用控制項。
本文內容有參考部落格如下:
http://blog.csdn.net/fengyun1989/article/details/7341747#reply
http://www.cnblogs.com/wangshuai/archive/2010/08/24/1807624.html
貼圖如下:
<!--ContentPanel - 在此處放置其他內容--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <StackPanel Name="myStackPanel" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"> <mycontrol:MainControl Temp="7℃~11℃" Week="星期天" Width="300" Height="200" HorizontalAlignment="Right" ImageUri="/MyWeatherForeCast;component/Images/sunday.jpg" /> <mycontrol:MainControl Temp="7℃~11℃" Week="星期一" Width="300" Height="200" HorizontalAlignment="Right" ImageUri="/MyWeatherForeCast;component/Images/cloudy.jpg" /> </StackPanel> </Grid>
說明:
根據圖片,可以知道使用者自訂的MainControl控制項在檔案夾MyControls下,在主介面Page1使用該控制項時,需要添加本項目的引用。
方法如下:
xmlns:mycontrol="clr-namespace:MyWeatherForeCast"
mycontrol是自訂的控制項引用名稱,MyWeatherForeCast是本程式的項目名稱。
若是引用的控制項在其他項目中,xmlns:mycontrol="clr-namespace:OtherProject.FileFolder;assembly=MainControl"
clr-namespace:OtherProject.FileFolder相當於路徑,assembly=MainControl表示該自訂控制項。
UserControl定義的成員變數如下:
private string _weekday; public string Week { get { return _weekday; } set { _weekday = value; this.weekday.Text = value; } } private string _temp; public string Temp { get { return _temp; } set { _temp = value; this.temp.Text = value; } } private string _imageUri; public string ImageUri { get{ return _imageUri; } set { _imageUri = value; BitmapImage image=new BitmapImage(new Uri(value,UriKind.Relative)); this.myimage.Source = image; } }