none
Silverlight中Style继承、引用的问题 RRS feed

  • 问题

  • 我写了一个测试页面,程序的目的是写一个总的资源所有的按钮都引用ButtonStyle的资源,然后再定义一些固定的按钮资源如:添加、编辑、删除等按钮的样式.

    这里出现了一个很奇怪的问题:我开始的写法是

    <UserControl.Resources>
    <Style TargetType="Button" x:Name="ButtonStyle">
    <Setter Property="Margin" Value="5"/>
    <Setter Property="Width" Value="100"/>
    <Setter Property="Height" Value="23"/>
    </Style>
    <Style TargetType="Button" x:Key="FunctionButton" BasedOn="{StaticResource ButtonStyle}">
    <Setter Property="Content" Value="添加"/>
    </Style>
    < /UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
    <Button Style="{StaticResource FunctionButton}"/>
    </Grid>
    < /UserControl>

    显示结果为:

    因为需要扩展:比如添加按钮加图标等功能,所有对代码进行修改:出现了问题

    <Style TargetType="Button" x:Key="FunctionButton" BasedOn="{StaticResource ButtonStyle}">
    <Setter Property="Content">
    <Setter.Value>
    <StackPanel>
    <TextBlock Text="添加样式扩展"/>
    </StackPanel>
    </Setter.Value>
    </Setter>
    </Style>

    显示结果为:

     

    麻烦哪位朋友知道问题所在的 帮个忙 谢谢

    2011年11月2日 3:31

答案

全部回复

  • 你好,

    如果你要修改Button的显示外观,应该使用修改Template,而不是在Style里设置Content属性。


    Daoping Liu - MSFT
    2011年11月4日 9:12
    版主
  • 你好 修改外观可以通过这两个方式来实现... Template是可以实现的.但是在WPF无论怎样去修改他的Content都可以实现,而且感觉在SL中采用修改ContentTemplate的方式来实现,会出现按钮显示延迟的感觉
    2011年11月9日 11:34