我想爲我的自定義按鈕模板提供模板屬性,其中包含影響圖像內容的不同選項。如何動態設置模板屬性選項
I.e.
- 關閉
- 最大化
- 恢復
- 最小化
所以當控制的用戶想要設置按鈕最大化的類型,他們把它挑出來一降下來在屬性檢查器中,嵌入在按鈕中的圖像控件的源變爲「{DynamicResource MaximiseGlyph}」。
我怎樣才能讓用戶選擇的按鈕,然後這也將選擇適當的圖像控制源的模板?
這裏是我的按鈕模板的當前基本代碼:
<Style x:Key="WindowControlButton" TargetType="{x:Type Button}">
<Style.Resources>
<BitmapImage x:Key="RestoreGlyph" CreateOptions="IgnoreImageCache" CacheOption="OnLoad" UriSource="\Restore.png"/>
<BitmapImage x:Key="MaximiseGlyph" CreateOptions="IgnoreImageCache" CacheOption="OnLoad" UriSource="\Maximise.png"/>
<BitmapImage x:Key="CloseGlyph" CreateOptions="IgnoreImageCache" CacheOption="OnLoad" UriSource="\Close.png"/>
<BitmapImage x:Key="MinimiseGlyph" CreateOptions="IgnoreImageCache" CacheOption="OnLoad" UriSource="\Minimise.png"/>
</Style.Resources>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Ellipse Fill="Black" Opacity="0.7">
<Ellipse.Stroke>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="#FFB8B8B8" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
<Image Source="{DynamicResource RestoreGlyph}"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True"/>
<Trigger Property="IsDefaulted" Value="True"/>
<Trigger Property="IsMouseOver" Value="True"/>
<Trigger Property="IsPressed" Value="True"/>
<Trigger Property="IsEnabled" Value="False"/>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你能澄清你的問題是什麼? – kaj 2012-03-03 21:29:59
那麼如何將模板屬性設置爲四個值之一,然後設置用戶選擇的值將按鈕內圖像的源屬性更改爲四個不同值之一 – Kian 2012-03-03 21:33:28