在Silverlight 5中设置控件模板的样式

在Silverlight 5中设置控件模板的样式,silverlight,xaml,silverlight-5.0,controltemplate,Silverlight,Xaml,Silverlight 5.0,Controltemplate,我正在考虑使用Codeplex中的。它的功能非常好,但我想重新设计外观。是否可以在不创建模板的新副本和更改一些属性的情况下执行此操作?下面是控件附带的通用“主题”示例: <Style TargetType="GenericControl:MenuBar"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Gen

我正在考虑使用Codeplex中的。它的功能非常好,但我想重新设计外观。是否可以在不创建模板的新副本和更改一些属性的情况下执行此操作?下面是控件附带的通用“主题”示例:

<Style TargetType="GenericControl:MenuBar">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="GenericControl:MenuBar">
                <Canvas x:Name="LayoutRootMB">
                    <StackPanel Height="25" 
                                x:Name="baseRectMB" 
                                Canvas.Left="0" 
                                Canvas.Top="0"
                                HorizontalAlignment="Left" 
                                Orientation="Horizontal" />
                </Canvas>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

比如说,我想把
水平对齐
改为
拉伸
(为了便于论证——不管它是否真的能完成任何有用的事情)。有没有办法告诉XAML(用XAML,而不是用C#)我想对
baseRectMB

baseRectMB
在类
MenuBar
上的
TemplatePartAttribute
中命名


我假设我可以简单地复制现有的模板并对其进行修改,尽管我还没有让它正常工作

你试过混合表达吗?它是编辑XAML元素的强大工具。@NareshRavlani这是我第一次尝试。这就是我发现VS2012中的Blend不支持Silverlight的原因。是的,但您可以安装Blend+sketchflow预览来完成此操作。但是,您始终可以选择expression blend 4,因为它是独立安装的。我不确定,但你可以试一试。@NareshRavlani谢谢,我会试一试的!