2009-06-22 58 views
2

在WPF/XAML中,在面板中相同位置的兩種控件類型之間切換時有沒有簡單的方法?我想知道是否有替代切換可見度。在WPF控件之間切換

在我的應用程序中,我有幾個複選框用於配置位域(複選框打開或關閉個別位)。有時,如果用戶能夠在文本框中輸入實際字段值(例如,如果選中前兩個複選框,則爲0x03),用戶會更容易。

由於佈局限制,我不希望同時顯示覆選框和文本框。我想提供一個單選按鈕,允許他選擇他想要用於編輯值的「視圖」。

+0

進行自定義控件或用戶控件。這完全是wpf最擅長的。 – 2009-06-22 15:32:11

+0

請您詳細說明一下嗎?我會將複選框和文本框放在用戶控件中,並提供一種在兩者之間切換的公共方法?在內部,切換是否會改變可視性或其他內容?我怎樣才能使這個自定義用戶控件的通用,以便我可以指定哪些類型的控件應該在每個模式,每個自定義用戶控件的實例中可見? – 2009-06-22 16:26:28

回答

2

您可以將兩個輸入方式(CheckBoxes/TextBox)放在同一個位置,方法是將它們都放在Panel(比如StackPanel)中,並將CheckBoxes或TextBox的可見性設置爲Collapsed。

有幾種方法可以實現這一點,但我的首選方法是將CheckBox和TextBox DataBind綁定到它們各自的RadioButton的IsChecked屬性,並使用IValueConverter在布爾值和Visibility屬性之間進行轉換。

HTH。

0

使用ContentControl作爲佔位符。您可以編程方式設置ContentControl.Content。