WEB开发网
开发学院图形图像Flash 在Silverlight2 Beta2中开发自定义控件 阅读

在Silverlight2 Beta2中开发自定义控件

 2008-11-07 11:47:28 来源:WEB开发网   
核心提示: 三:模板绑定我们在使用控件的时候都会做响应的属性设定,比如: <custom:CarySLCustomControl Width="500" Height="500" Background="LightGreen"/>

三:模板绑定

我们在使用控件的时候都会做响应的属性设定,比如:

<custom:CarySLCustomControl Width="500" Height="500" Background="LightGreen"/>

但是你现在做该设置是不会生效的,还仍然使用控件模板的设定,我们可以在控件模板中通过使用 {TemplateBinding ControlProperty} 的标识扩展句法来绑定到控件的属性来实现,使用ContentPresenter控件可以灵活的设置各个属性。修改后的Generic.xaml的代码如下:

<ResourceDictionary
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:custom="clr-namespace:CarySLCustomControlLib;assembly=CarySLCustomControlLib"
   <Style TargetType="custom:CarySLCustomControl">
    <Setter Property="Width" Value="200" />
    <Setter Property="Height" Value="100" />
    <Setter Property="Background" Value="Lavender" />
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="custom:CarySLCustomControl">
          <Grid x:Name="RootElement">       
             <Rectangle x:Name="BodyElement"  Width="{TemplateBinding Width}"
              Height="{TemplateBinding Height}" Fill="{TemplateBinding Background}"
              Stroke="Purple" RadiusX="16" RadiusY="16" />           
             <ContentPresenter Content="{TemplateBinding Content}"
              HorizontalAlignment="Center" VerticalAlignment="Center"
              FontSize="{TemplateBinding FontSize}" />
          </Grid>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>
</ResourceDictionary>

上一页  1 2 3 4 5 6  下一页

Tags:Silverlight 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接