2017-07-06 45 views
-1

我不知道組合框將是解決此問題的最佳工具,但它在視覺上很有吸引力。組合框爲單個數據,但多個表示

考慮角度這樣的數據 - 我可以用弧度(單個編輯框)或以度,分,秒,毫秒(4個編輯框)的形式輸入它的值 - 還有其他表示,但這兩個就足夠了。現在我有模式條目「弧度」的組合框,「DMS」更改模式顯示/隱藏適當的控制。

這種方法有兩個缺陷 - 它需要更多的空間(對於帶有模式的額外組合框),並且由於每個控件都不同,所以它的右側的大小都會移動。

所以我正在考慮更直接的方法,而不是選擇模式,輪流切換給定控件的可見性,是否有可能將每個控件放在組合框內,然後組合框將選擇該控件。目標數據對於每一行(角度)都是完全相同的,但是每一行都有不同的控制,因爲每一行都意味着不同的表示。

可以使用組合框還是我在錯誤的門上敲打?如果combobox適合這項任務,該怎麼做?

+0

這是完全可能的。在有人幫助你之前,你必須自己付出一些努力。 –

+0

@RomanoZumbé,不錯,但它不是「努力」的因素,但回到基礎:-)無論如何,謝謝你讓我放心,我走在正確的軌道上。 – astrowalker

+1

這對我有很大幫助:http://www.eidias.com/Blog/2012/2/20/customizing-wpf-combo-box-style –

回答

0

我非常關注組合框級別的數據綁定,我沒有注意到該解決方案使用了組合框的基礎知識。

所以首先,暫時忘記組合框綁定任何東西 - 簡單地每行定義ComboBoxItem,並把你喜歡的任何控制。實際上,您將獲得相同數據的多個控件。

在這一點上唯一缺少的部分是選擇模式。由於我不再依賴手動切換控件的可見性(組合框自動執行),因此我可以綁定到SelectedIndex並將其轉換爲僅來回模式。

請注意組合框本身並未綁定到實際數據(在這種情況下爲角度)。

相關問題