本文主要講述如何在Silverlight2中開發一個自訂控制項,我使用環境是VS2008 Silverlight2 Beta2 。
一:建立Silverlight2 類庫項目,如下圖:
然後我們添加一個控制項類,該可以繼承自Control類,也可以繼承自其他類比如ContentControl, ItemControl。我們繼承自ContentControl,代碼如下:
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace CarySLCustomControlLib
{
public class CarySLCustomControl : ContentControl
{}
}
其實現在已經做好了一個最簡單的自訂控制項,我們給給他一個控制項範本就可以了。在Page.xaml的 Grid中添加如下代碼:
<custom:CarySLCustomControl>
<custom:CarySLCustomControl.Template>
<ControlTemplate>
<Grid x:Name="RootElement">
<Rectangle x:Name="BodyElement" Width="200" Height="100"
Fill="Lavender" Stroke="Purple" RadiusX="16" RadiusY="16" />
<TextBlock Text="Cary Click" HorizontalAlignment="Center"VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</custom:CarySLCustomControl.Template>
</custom:CarySLCustomControl> 效果如下圖: