How to bind a control's property to another control's property?
48,594
Yes. You should be able to bind the stackpanel's IsEnabled to your button's Visibility property. However, you need a converter. WPF comes with a BooleanToVisibilityConverter class that should do the job.
<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>
Author by
Jader Dias
Perl, Javascript, C#, Go, Matlab and Python Developer
Updated on March 07, 2020Comments
-
Jader Dias about 4 years
I want that the SaveButton from my form to dissapear when the form is disabled. I do that this way:
this.formStackPanel.IsEnabled = someValue; if(this.formStackPanel.IsEnabled) { this.saveButton.Visibility = Visibility.Visible; } else { this.saveButton.Visibility = Visibility.Collapsed; }
Isn't there a way of binding those properties in the XAML? Is there a better way of doing that?
-
pasha over 7 yearsIf instead of a togglebutton, I have a custom control (lets say CustomControl) which has a togglebutton then can do the same thing except ElementName=CustomControl.togglebutton?