2010-04-06 78 views
3

我想創建一個定製的複選框,其行爲完全像StackOverflow上的 「接受答案」 複選框:WPF複選框像StackOverflow上的 「接受的答案」 複選框

alt text http://sstatic.net/so/img/vote-accepted-on.png

alt text http://sstatic.net/so/img/vote-accepted.png

也就是說,我只想在檢查時顯示單個圖像,並在未選中時顯示單個圖像。我不在乎不確定的狀態。

對於WPF ControlTemplates,我有點新手,所以我在定製CheckbBox的ControlTemplate時顯示這些圖片時出現麻煩。有人能指引我朝着正確的方向嗎?

回答

15

下面是一個簡單的版本:

<ControlTemplate TargetType="CheckBox"> 
    <Image Name="TickImage" Source="HollowTick.png" /> 
    <ControlTemplate.Triggers> 
    <Trigger Property="IsChecked" Value="True"> 
     <Setter TargetName="TickImage" Property="Source" Value="FilledTick.png" /> 
    </Trigger> 
    </ControlTemplate.Triggers> 
</ControlTemplate> 

這是很基本的,因爲它沒有尊重之類的東西margin和padding,但那些可能現在不適合你必不可少的。關鍵是使用Trigger和Setter在IsChecked爲true時更改圖像源 - 您應該可以從此處開始構建。

+0

謝謝!我會給你一個鏡頭。 – 2010-04-06 22:58:08

+0

這很好。我已經接受你的答案。再次感謝。 – 2010-04-07 15:24:48