在运行时分配按钮样式

时间:2012-04-04 11:47:35

标签: c# silverlight

我在Blend中设置了一个按钮,它在命名空间标题之后给了我这个xaml。

<UserControl.Resources>
        <Style x:Key="ButtonStyle1" TargetType="Button">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Button">
                        <Grid>
                            <Rectangle Fill="#BF4FFFF" RadiusY="10" RadiusX="10" Stroke="Black"/>
                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

在运行时,我正在生成一个按钮,我想要这个样式。怎么办呢。
我注意到按钮具有button.Style属性,但我无法确定其风格。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以在代码中访问资源字典,例如:

button.Style = (Style)Application.Current.Resources["ButtonStyle1"];

答案 1 :(得分:0)

我认为您的填充颜色代码是错误的。请尝试另一个代码

    <UserControl.Resources>
    <Style x:Key="ButtonStyle1" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid>
                        <Rectangle Fill="Red" RadiusY="10" RadiusX="10" Stroke="Black"/>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding         HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>


 <Grid x:Name="LayoutRoot" Background="White">
      <Button Content="Button" Height="48" Style="{StaticResource ButtonStyle1}" HorizontalAlignment="Left" Margin="70,71,0,0" Name="button1" VerticalAlignment="Top" Width="178"  />
</Grid>