零基础学通Silverlight4(7):控件..
时间:2010-10-13 来源:wanxl
一个新的控件需要先选择一个基类。可以基于许多基类来创建自定义控件,包括Control(1)自定义控件需要定制哪些可视化外观?
作用UserControl来定义模板的内容。要定义模板,需要设置Setter,并使用<Setter.Value>模板还能保持控件的众多功能,并且可直接定义鼠标指针移入、移出以及单击的统一的变化效果。每个模板必须有一个根元素,为了方便容纳多个Panel等
范例利用模板生成统一外观的立体棋子按扭。当鼠标单击时,外观都会有变化,如移到上面时增加阴影,单击棋子会改变效果,如图7-1图7-1
,新建项目中,选择“Silverlight Application)设置二个圆形,其中一个具有渐变效果作为棋的外形,另一个带来阴影立体效果,加上“车”字,模板的外观如图7-2(3。
如下:
<Grid x:Name="LayoutRoot" Background="White" Margin="56,0,0,37">
<Grid Margin="126,96,0,0" HorizontalAlignment="Left" Width="108" Height="108" VerticalAlignment="Top">
<Ellipse Stroke="Black" Margin="4,6,4,2" StrokeThickness="0" Height="100" Width="100" Fill="#FFA7A1A1"/>
<Ellipse Stroke="Black" StrokeThickness="0" Width="100" Height="100" VerticalAlignment="Top" Margin="2,0,6,0">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.795,0.998" StartPoint="0.227,-0.092">
<GradientStop Color="#FF2CC017" Offset="0.032"/>
<GradientStop Color="#FFC6E2C3" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<TextBlock Margin="22,14,28,14" Text=")将所绘制图案转换成模板。选择上面的Grid
)出现“构成控件”对话框,选择Button图7-5
)现已创建了一个模板,而且也创建了一个棋子按钮,并已经将模板应用于此棋子按钮了,打开MainPage.xaml)继续编辑模板,使其具备鼠标单击的外观变换效果,双击字典文件,进入到模板编辑状态,也可从所创建的棋子控件,从级联菜单中按照顺序选择“编辑控件”、“编辑模板“、“编辑当前模板“进入,如图7-6(8状态,接着选择Ellipse,如图图7-7(9。
)继续编辑模板,选择MouseOver)模板已修改完成,保存,可安F5(12控件,如图7-10(12控件上,并且选择Style图7-11
运行,鼠标移移到“马”上,并点击“马”后可看到会有明显的变化效果。
相关阅读 更多 +