2012-03-06 16 views
23

मैं चाहता हूं कि फॉर्म अक्षम होने पर सेवबटन मेरे फॉर्म से गायब हो जाए। मैं इस तरह से है कि कार्य करें:किसी नियंत्रण की संपत्ति को किसी अन्य नियंत्रण की संपत्ति में कैसे बांधें?

this.formStackPanel.IsEnabled = someValue; 
if(this.formStackPanel.IsEnabled) 
{ 
    this.saveButton.Visibility = Visibility.Visible; 
} 
else 
{ 
    this.saveButton.Visibility = Visibility.Collapsed; 
} 

वहाँ XAML में उन गुणों बाध्यकारी का एक तरीका नहीं है? क्या ऐसा करने का कोई बेहतर तरीका है?

उत्तर

55

हां। आप अपने बटन की दृश्यता संपत्ति में स्टैकपैन के IsEnabled को बाध्य करने में सक्षम होना चाहिए। हालांकि, आपको एक कनवर्टर चाहिए। डब्ल्यूपीएफ एक बूलियन ट्वॉसिबिलिटी कनवर्टर क्लास के साथ आता है जो नौकरी करना चाहिए। यदि एक ToggleButton के बजाय, मैं एक कस्टम नियंत्रण है

<Window 
    x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Window.Resources> 
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/> 
    </Window.Resources> 
    <StackPanel> 
    <ToggleButton x:Name="toggleButton" Content="Toggle"/> 
    <TextBlock 
     Text="Some text" 
     Visibility="{Binding IsChecked, ElementName=toggleButton, Converter={StaticResource BooleanToVisibilityConverter}}"/> 
    </StackPanel> 
</Window> 
+0

(देता है CustomControl कहते हैं) जो एक ToggleButton तो है ElementName = CustomControl.togglebutton को छोड़कर एक ही बात कर सकते हैं? – pasha

संबंधित मुद्दे