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;
} }