對不起,我只是不知道如何用一句話來解釋它。有兩個控件設置另一個控件的可見性
所以這裏是我的目標:我需要在我的ViewModel中有一個布爾值來定義控件(邊框)的可見性。
我知道我可以通過一個BooleanToVisibilityConverter實現這一點,但還有一點點。如果控件不可見,我想要顯示UI上的按鈕。一旦這個按鈕被按下,我想我的ViewModel中的布爾值爲TRUE,然後我希望控件可見,並且按下的按鈕將被摺疊。一旦該控件可見,我想要在最近可見的控件中的一個按鈕使控件摺疊,然後使原始按鈕可見。
基本上有兩個按鈕:1使可見(然後摺疊本身),另一個是摺疊它的容器,然後使第一個按鈕可見。
我想用MVVM來做所有這些,所以如果我可以避免代碼在我的視圖中,那將是理想的!
你是如何處理按鈕點擊?一個ICommand在你的ViewModel上?如果是這樣,只需將布爾屬性設置爲與您調用的命令的「execute」方法相對應的true或false。例如,按下第一個按鈕(顯示邊框),並在viewModel的execute方法中,將布爾值設置爲TRUE。在您的XAML中,將邊框的可見性綁定到相同的布爾屬性,並像您已經建議的那樣使用BooleanToVisibiltyConverter。 – Thelonias 2012-07-09 19:43:38
我會採取刺。是的,我在我的ViewModel中使用ICommand。我不需要某種OppositeBooleanToVisibility轉換器嗎?所以當我的國旗是真的,這意味着隱藏/摧毀其他控制? – Travyguy9 2012-07-09 19:47:39
是的,你需要那個。您將在邊框上使用BoolToVisibility轉換器,並在邊框外的按鈕上使用相反的轉換器(用於啓動邊框可見性的按鈕) – Thelonias 2012-07-09 19:51:30