簡體   English   中英

應用基本自定義樣式后按鈕不可見-WPF

[英]Button invisible upon applying basic custom style - WPF

我正在嘗試使按鈕顯示為PNG(無邊界,漸變等)。

我所做的是:

  • 資源

     <Style x:Key="PlainImageButton" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/> </ControlTemplate> </Setter.Value> </Setter> </Style> 
  • XAML

      <Button Width="16" Height="16" Style="{DynamicResource PlainImageButton}"> <Button.Background> <ImageBrush ImageSource="Images/pencil.png"/> </Button.Background> </Button> 

但是按鈕不可見

在此處輸入圖片說明

為什么會這樣呢?

您正在按鈕中提供圖像作為背景。 而在模板中,您尚未使用background屬性與ContentPresenter綁定

嘗試這個

 <Button Width="16"
                Height="16"
                Style="{DynamicResource PlainImageButton}">
            <Button.Content>
                <Image Source="pencil.png" />
            </Button.Content>
        </Button>

在這里,我將內容設置為將與模板中的ContentPresenter綁定的圖像

希望能幫助到你 :)

您必須在模板中使用提供的背景,例如:

<Button.Template>
    <ControlTemplate TargetType="{x:Type ButtonBase}">
        <Border x:Name="border" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
            <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" />
        </Border>
    </ControlTemplate>
</Button.Template>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM