In my previous post, I discussed the three modes of DataBinding for Windows 8. Today we’ll take a brief look at binding not to data, but rather binding one UI element to the value of another. In this example, we’ll bind the IsActive property of the ProgressRing to the IsChecked property’s value in a CheckBox.
<StackPanel> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" > <TextBlock Text="ProgressRing:" VerticalAlignment="Center" Margin="0,0,20,0" /> <Border BorderThickness="1" BorderBrush="#44000000" Padding="10"> <ProgressRing x:Name="ProgressRing1" IsActive="{Binding IsChecked, ElementName=ActiveCB}" /> </Border> </StackPanel> <CheckBox Name="ActiveCB" Content="Active?" /> </StackPanel>
Notice that the IsActive property is bound to the IsChecked property and the ElementName (ActiveCB) is the Name of the CheckBox with that property.
That’s it, there is no code associated with this example; just the XAML.
Great article !! .
Interresting (at least to me), that the binding code is in the ProcessRing element and not the CheckBox element. Is there a reason for that? It seems if you wanted to bind several things to a property this could become problematic. Is there a way to put the binding code into the CheckBox element? I ask this from the perspective of a complete and utter noob to binding.
Anyway, I want to take this opportunity to thank you for this series & your other writings. I’ve read about binding before and it always seems so useful but so intimidating. In your books and here you have a way of putting things in a manner that is both unintmidating and very understandable. Thank you.