2012-11-18 110 views
0

我在窗口中添加了一些控件和選項卡控件。現在我想隱藏控件,當用戶按下tabItem2,就像每個tabItem我需要一些控件應該顯示,一些應該隱藏如何進行這種類型的功能?如何隱藏WPF中的控件?

+0

您可以將控件的可見性綁定到選項卡控件的選定項目。使用'IValueConverter'來獲得適當的'Visiblility'值。 – McGarnagle

回答

1

剛剛宣佈控制在你的TabControl

<TabControl> 
    <TabItem> 
     <Button x:Name="Button1"/> 
    </TabItem> 
    <TabItem> 
     <Button/> 
    </TabItem> 
</TabControl> 

或者你可以隱藏你想處理的TabControl的SelectionChanged事件的控件。

void OnTabControlSelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    Button1.Visibility = Visibility.Collapsed; 
} 
+0

請添加評論爲什麼-1。 – Andre

+0

-1。不要在代碼中操作元素。這不是winforms。該方法在WPF中令人震驚,因爲它在XAML定義的元素和(完全不必要的)C#代碼之間產生了緊密的耦合。 –

+1

我不知道爲什麼希望隱藏一些控件。但是因爲他寫道,這些控件的可見性取決於激活的選項卡,在我看來,這可能是一個UI的事情。你可以在後面的代碼中處理UI事物。在我看來,這不是正確的方式,不要編寫代碼來操縱UI元素,因爲它是WPF或XAML或MVVM ... – Andre

0

澄清:你的意思是每個TabItem的按下,你想一組不同的TabItems的是可見的?如果是這樣,我會建議將這個功能包裝在一個UserControl中,並提供「set」邏輯作爲該控件的代碼隱藏的一部分。