[英]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.