Example: I have a form that can perform some work. While the work is done i need to hide some UI elements.
What I do now is set the converter for each element that I need to be hidden:
<Button1 .. Visibility="{Binding Executing, Converter={StaticResource BoolToVisibilityInversed}}"/>
<TextBlock2 .. Visibility="{Binding Executing, Converter={StaticResource BoolToVisibilityInversed}}"/>
<CancelButton .. Visibility="{Binding Executing, Converter={StaticResource BoolToVisibility}}"/>
What I would like to have is some kind of variable in xaml to assign once and be able to bind to: (pseudo code. doesn't work)
<!-- The Variables -->
<Visibility Name="VisibleWhileExecuting" Value="{Binding Executing, Converter={StaticResource BoolToVisibility}}" />
<Visibility Name="HiddenWhileExecuting" Value="{Binding Executing, Converter={StaticResource BoolToVisibilityInversed}}" />
<!-- The Elements -->
<Button1 .. Visibility="{Binding HiddenWhileExecuting}"/>
<TextBlock2 .. Visibility="{Binding HiddenWhileExecuting}"/>
<CancelButton .. Visibility="{Binding VisibleWhileExecuting}"/>
Is there a way to do so?
Update:
What I have come up to is creating two icons displaying the work status. Then I can bind to that icon's visibility.
something like this (didn't check)
<Image Name="ExecutingIcon" .. Visibility="{Binding Executing, Converter={StaticResource BoolToVisibility}}"/>
<Image Name="IdleIcon" .. Visibility="{Binding Executing, Converter={StaticResource BoolToVisibilityInversed}}"/>
<Button1 .. Visibility="{Binding ElementName=IdleIcon, Path=Visibility}" />
<CancelButton .. Visibility="{Binding ElementName=ExecutingIcon, Path=Visibility}"/>