2011-12-17 121 views
2

我可以在不覆蓋所有模板的情況下創建橢圓按鈕嗎?wpf中的橢圓按鈕

我有一個模板和樣式TargetType =按鈕,我想我的橢圓按鈕獲取這些模板。

在此先感謝

回答

2

嗯,這個工作,雖然它不是最靈活的解決方案:

<Button> 
    <Button.OpacityMask> 
     <VisualBrush> 
      <VisualBrush.Visual> 
       <Grid Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType=Button, AncestorLevel=1}}" Height="{Binding Path=ActualHeight, RelativeSource={RelativeSource FindAncestor, AncestorType=Button, AncestorLevel=1}}"> 
        <Ellipse Fill="White" /> 
       </Grid> 
      </VisualBrush.Visual> 
     </VisualBrush> 
    </Button.OpacityMask>    
</Button> 

基本上你只要告訴按鈕控件,只顯示其與在橢圓重疊的部分OpacityMask,在這種情況下是一個視覺刷子。對於一個快速和骯髒的解決方案,這將工作,但我認爲最好的選擇是簡單地複製here (msdn)的默認控制模板,並稍微調整它以適應您的使用。把它放在一個資源文件中,並保持它很好地分開。

+0

感謝您的回答。它正是我需要的 – david 2011-12-17 22:01:06