任何人都可以用一個簡單的模板來幫助我使WPF ToggleButton根據切換狀態顯示「是」還是「否」?是/否的WPF模板ToggleButton
我不想讓它看起來像一個按鈕,雖然,只是一段文字,顯示爲是或否。
我想將它作爲一個模板,我可以將其作爲樣式添加到所有現有的切換控件中。
我嘗試過Blend,但我對模板不熟悉,不知道該怎麼做。
任何人都可以用一個簡單的模板來幫助我使WPF ToggleButton根據切換狀態顯示「是」還是「否」?是/否的WPF模板ToggleButton
我不想讓它看起來像一個按鈕,雖然,只是一段文字,顯示爲是或否。
我想將它作爲一個模板,我可以將其作爲樣式添加到所有現有的切換控件中。
我嘗試過Blend,但我對模板不熟悉,不知道該怎麼做。
上@ Batuu的答覆構建,將剛出與內容文本剛剛更新更新了風格
<Style x:Key="OnOffToggleStyle" TargetType="ToggleButton">
<Setter Property="Content" Value="Off"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="On">
</Setter>
</Trigger>
</Style.Triggers>
</Style>
此處添加的內容與原始回覆相比是
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
您基本上將按鈕的模板設置爲它所包含的內容。
你可以用一個風格做到這一點很容易:
<Window x:Class="WpfTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style x:Key="OnOffToggleStyle" TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content">
<Setter.Value>
<TextBlock Text="Yes"/>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Content">
<Setter.Value>
<TextBlock Text="No"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<ToggleButton Style="{StaticResource OnOffToggleStyle}"/>
</Grid>
</Window>
哇,很容易,當你看到它完成!它仍然看起來像一個按鈕,很容易刪除其餘的按鈕樣式,所以我只是留下了標籤? – Paul 2013-03-09 16:51:33
完美,非常感謝!很容易看到,但是如何找出哪些屬性可用於像這樣的控件。我可以使用Blend來使用這種風格嗎? – Paul 2013-03-10 15:14:20
所有的UI控件在WPF中看起來都很少,並且可以通過混合編輯任何控件的樣式,只需右鍵單擊設計器中的控件,然後選擇「編輯模板」 - >「編輯副本」並按照對話框進行操作。 (當你嘗試編輯一個簡單的默認控件時,它看起來會有很多信息,最好的學習方法是刪除你不使用的所有東西,然後嘗試運行應用程序,並慢慢地添加一些內容以查看實際對應的內容什麼) – Viv 2013-03-10 18:49:45
非常感謝提示Viv! – Paul 2013-03-11 09:03:50