首页 > 解决方案 > 带有自定义图像和文本的 WPF 按钮模板

问题描述

我正在从 WinForms 向前迈进……喜欢 WPF,但还有很多东西要学——尤其是 XAML。尝试使用自定义图标和文本制作按钮模板,我需要更改主要来源。到目前为止一切正常,但我坚持使用自定义文本和图像。文本和按钮图像均未出现...请帮助,这是我的来源

主文件

<Button x:Name="btn_sample" DockPanel.Dock="Top" Style="{DynamicResource btn_menu1_theme}"  >

                <StackPanel>
                    
                    <TextBlock> SAMPLE LABEL </TextBlock>
                    <Image Source ="ICO\SAMPLE.png"/>
                    
                </StackPanel>
                        
</Button>

BUTTON_THEME

<Style BasedOn="{StaticResource {x:Type Button}}"
       TargetType="{x:Type Button}"
       x:Key="btn_menu1_theme">

    <Style.Setters>
        
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    
                    <Grid                            
                          VerticalAlignment="Stretch"
                          HorizontalAlignment="Stretch"                  
                          Background="{TemplateBinding Background}">

                        <TextBlock 
                            
                               Text="{TemplateBinding Content}"
                               VerticalAlignment="Center"
                               HorizontalAlignment="Stretch"
                               Margin="2" 
                               Foreground="White">

                        </TextBlock>
                        
                        
                        <Image 
                            
                            Source="{Binding Source}"
                            HorizontalAlignment="Right" 
                            VerticalAlignment="Center" 
                            Stretch="None">

                        </Image>

                    </Grid>

                </ControlTemplate>
            </Setter.Value>
        </Setter>


    <Setter Property="Background" Value="#FF1F1F27"/>
    <Setter Property="Margin" Value="3"/>
    
    </Style.Setters>


    <Style.Triggers>

        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#00b359"/>
        </Trigger>

    </Style.Triggers>

</Style>

请帮忙,提前谢谢你!

标签: c#wpfbutton

解决方案


推荐阅读