2012-11-26 63 views
1

我想通過使用我的CornerRadius屬性創建帶有圓角的ToggleButton。正如你在下面的代碼中看到的,我已經爲我的xaml ToggleButton添加了一個cornerRadius屬性來傳遞一個半徑值。但我找不到在c#中使用此值的方法來創建具有圓角的ToggleButton。C#/ WPF - 向ToggleButton添加CornerRadius

C#

public static readonly DependencyProperty CornerRadiusProperty = 
    DependencyProperty.Register("CornerRadius", typeof(int), typeof(MyToggleButton), 
    new PropertyMetadata(0)); //Default CornerRadius = 0 

public int CornerRadius 
{ 
    get { return (int)GetValue(CornerRadiusProperty); } 
    set { SetValue(CornerRadiusProperty, value); } 
} 

XAML

<custom:MyToggleButton Height="25" Content="Test" CornerRadius="15" /> 

所以,我怎麼可以用我的財產 「CornerRadius」 創建一個切換按鈕圓角? 如果有人能幫助我,那會很棒。

回答

1

我不會創建一個新的控件只是爲了讓它變成圓形 - 這就是模板的用途,這就是WPF如此之好!您可以簡單地爲ToggleButton定義一個新模板。

如果您堅持繼承自己的控件,您需要爲其定義一個新的默認樣式,該樣式還將包含一個控件模板,該模板將具有使用您的CornerRadius屬性的邊框。你可以基於你的新模板the default control template for ToggleButton

+0

感謝您的快速反應,但我相當新的WPF。我應該將我的CornerRadius屬性綁定到ToggleButton默認控件模板副本的邊框上。這可能是一個愚蠢的問題,但我找不到一種方法將c#class myToggleButton鏈接到模板。 – Richard

+0

[本文](http://msdn.microsoft.com/en-us/library/ms745025.aspx)是一個很好的開始,以瞭解如何在WPF中擴展/自定義控件。 –

+0

感謝您的幫助,文章非常棒。 – Richard