0

我在 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属性,但我无法为其分配样式。有什么建议么?

4

2 回答 2

0

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

button.Style = (Style)Application.Current.Resources["ButtonStyle1"];
于 2012-04-04T12:02:53.437 回答
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>
于 2012-04-06T12:01:24.330 回答