我需要一個按鈕樣式的菜單,即水平排列的一組總是可見的按鈕。
與單選按鈕類似,它們應該具有選定的屬性,即只有當選擇的狀態更改爲true時,點擊命令纔會觸發,而不是每次點擊都與正常按鈕相同。哪個wpf控件最適合這個菜單場景?
0
A
回答
0
原來一WrapPanel中的ListBox with a horizontal layout非常適合我的場景。 我發佈瞭解決方案another question。
1
RadioButton
也像其他按鈕火災Click
每次點擊事件。 RadioButton
也沒有選定的屬性。
但是,如果你想讓你的MenuItems
像Button
那麼你可以在這裏使用ToggleButton
。 ToggleButton
有IsChecked
跟蹤已檢查的按鈕狀態的屬性和Checked
事件,當檢測到ToggleButton
時觸發該事件。
另外,如果你想自動檢查/取消其他的切換按鈕的點擊您的ToggleButtons那麼你可以使用RadioButton
爲您MenuItem
的DataTemplate
並覆蓋其Template
象下面這樣:
<RadioButton Content="MyRadio" Click="RadioButton_Click">
<RadioButton.Template>
<ControlTemplate TargetType="RadioButton">
<ToggleButton Checked="ToggleButton_Checked" IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}}" Content="{TemplateBinding Content}"/>
</ControlTemplate>
</RadioButton.Template>
</RadioButton>
2
好傢伙,這是WPF ,您可以使用任何適合您的一些或任何需求的控件,然後僅爲其提供新的ControlTemplate
。順便說一句,沒有Selected
或IsSelected
財產RadioButton
...也許你是指IsChecked
財產?該屬性繼承自ToggleButton
,因此可能更合適。
由於ToggleButton
已經是Button
,您甚至可以在沒有爲其提供新的ControlTemplate
的情況下離開。
至於你關於Click
事件的要求,我不認爲你會發現任何WPF控件的這些功能,但也可以手動實現:
private void Button_Click(object sender, RoutedEventArgs e)
{
if (ToggleButton.IsChecked == true)
{
// Do something here when the `Button.IsChecked` == true
}
}
相關問題
- 1. 哪個數據存儲最適合我的場景
- 2. 哪個控件適合
- 3. 哪個版本控制最適合這個需求列表
- 4. 哪個例外最適合在這裏?
- 5. 哪個ORM最適合這裏?
- 6. 哪種數據控件適合該場景?
- 7. 哪個版本控制最適合我?
- 8. 哪個控件更適合這個問題?
- 9. 哪個Java阻塞隊列最適合多個生產者和單個或多個消費者場景?
- 10. 如何實現這個場景在WPF
- 11. 哪個CMS最適合Node.js?
- 12. 哪一個最適合dataTable
- 13. 哪個edtior最適合wordpress
- 14. 哪個隊列最合適?
- 15. 我不確定哪個NoSQL適合我的場景
- 16. 哪種腳本語言最適合我的場景?
- 17. 哪種技術最適合以下場景?
- 18. 這個特定的集合如何適用於特定場景?
- 19. 約定配置 - 這是一個合適的場景嗎?
- 20. Winforms和TimeSpan - 哪種控件最適合?
- 21. 哪種PayPal設置最適合市場?
- 22. 哪個圖形插件最適合這種類型的值?
- 23. 哪個WPF控件套件?
- 24. asp.net哪個數據控件最適合顯示動態數據
- 25. PHP&MySQL - 哪個變量類型最適合這個數組?
- 26. 哪個Java集合最適合這種情況
- 27. 哪個工具最適合設計GUI。 Java或.net C#WPF
- 28. wpf Datagrid:哪個驗證方法最適合DataGrid
- 29. Sk場景不適合iPad?
- 30. iOS最佳實踐:一個場景一個控制器或多個場景一個控制器?