首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

WPF 自訂按鈕樣式共用但圖片不同:使用 ControlTemplate 繫結 ImageSource 至按鈕屬性

     編輯:程式設計綜合問答

在 ControlTemplate 中將 ImageBrush.ImageSource 繫結至按鈕的 Tag 或自訂附加屬性,各按鈕實例設定不同圖片路徑:

<Style x:Key="ListLeftButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Rectangle x:Name="rect">
<Rectangle.Fill>
<ImageBrush ImageSource="{TemplateBinding Tag}"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="rect" Property="Fill">
<Setter.Value>
<ImageBrush ImageSource="{TemplateBinding Tag}"/>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- 使用 -->
<Button Style="{StaticResource ListLeftButton}" Tag="skin/btn1.png" />
<Button Style="{StaticResource ListLeftButton}" Tag="skin/btn2.png" />

透過 TemplateBinding Tag 將每個按鈕的 Tag 屬性傳遞給模板內的圖片來源,實現樣式共用、圖片各異。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved