只有在選擇組合中的某個項目時試圖顯示標籤。代碼應該很好地解釋它。WPF基於組合選擇的UI元素的可見性
<ComboBox Name="comboMyCombo">
<ComboBoxItem>Don't show the label</ComboBoxItem>
<ComboBoxItem>Show the label</ComboBoxItem>
</ComboBox>
<Label Visibility="Collapsed">This is my label
<Label.Style>
<Style>
<Style.Triggers>
<DataTrigger
Binding="{Binding ElementName=comboMyCombo, Path=SelectedValue}" Value="Show the label">
<Setter Property="Label.Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
順便說一句:是有辦法重複使用多個控制該觸發但不重複它?我有多個控件我想隱藏/基於此選擇。它們是獨立的網格單元,所以我不能隱藏整個堆棧面板。 – tim 2010-04-01 19:08:35
如果你的意思是跨越多種控制類型(標籤,按鈕等),我會用附加的行爲來做到這一點。如果您的意思是在相同控件類型的不同實例之間重複使用,則應該使該樣式成爲資源。 – 2010-04-01 19:26:29
附加行爲。謝謝Scott,你真棒。 – tim 2010-04-01 19:37:12