2011-11-27 48 views
8

我想隱藏幾個文本框,一個標籤和一個按鈕一旦點擊按鈕......但是,由於某種原因,我的代碼似乎並不會導致這個效果。似乎沒有發生。我正在使用WPF。如何隱藏文本框,標籤和按鈕C#WPF

這裏是我的代碼:

private void doSomething_Click(object sender, RoutedEventArgs e) 
    { 

     Name.Visibility = Visibility.Hidden; 

    } 

似乎這個代碼不工作..任何想法?

+0

你的代碼是做什麼的?什麼?沒有?你嘗試過Visibility.Collapsed?你能確認你的代碼實際上正在執行嗎? - 嘗試設置斷點或跟蹤點。 – ColinE

+0

@CollinE,它目前什麼都不做。是的,我放了一個斷點,我穿過它。它確實遍歷每一行,但沒有發生在窗體本身= /我已經嘗試過了。也崩潰了。同樣的問題... – BigBug

+0

,看起來應該工作...你在xaml中做了什麼特別的事嗎?你可以發佈xaml嗎? – wdavo

回答

7

您的代碼看起來工作正常,在「登錄...」標籤在一切消失後出現。我建議你只需將.xaml.cs文件和.xaml文件中的所有代碼複製到一個新項目中,但請確保不要複製第一行"<Window x:Class="...",因爲如果類名稱爲'在新項目中同樣如此。

對於xaml代碼,我建議你不要像你設計windows窗體應用程序一樣。 WPF有佈局系統,在重新調整窗口大小時重新定向或重新定義元素的大小。所以你不應該在邊界屬性中指定確切的數字,就像它們在哪裏座標一樣。創建網格,爲每個元素創建行或列,然後設置水平或垂直對齊或邊距。認爲不同於舊的Windows窗體方式。

+0

謝謝,我會那樣做。很高興,它的工作......傷心,我不得不再次通過,雖然... =/ – BigBug

+0

:(似乎並不想爲我工作,即使在創建一個新項目後。 – BigBug

7

我相信Visibility.Collapsed是你需要的而不是Visibility.Hidden

編輯:你有沒有試圖跟上這個代碼與UpdateLayout()方法的父元素/組件?

4

我已經運行了你的代碼......它對我來說很好。我沒有改變任何東西(除了變量名),所以我想這是VS的一個錯誤。

如上所述nikolamm94嘗試在connect_Click的末尾添加this.UpdateLayout();可能有所幫助。我試過了,它仍然正常工作。或者也許創建一個新的VS projet,它已經爲我工作了幾次。

對不起我的答案是不是最有幫助的,我希望把一個評論,而不是,但我沒有足夠的聲譽:/

+0

謝謝,我會試試這個... :(糟透了,我必須重拍它。但是我很高興它的工作原理...希望它看起來不錯,當你跑它:) – BigBug

0

您可以將屬性 - > appearance->可見隱藏的文本框,然後將其設置爲 「隱藏」