Имам два контрола в този пример, но в реалното приложение имам много повече в зависимост от стойността на свойството Съдържание на етикет в мрежа (например), някои други етикети, текстови полета, текстови блокове и бутони ще бъдат видими или свити в Grid two (например).
Но за да опростя проблема си, ще имам опростен пример...
<Grid Name="gridOne">
<Label Content="{Binding Collection.Name}" Name="lblCaption"/>
</Grid>
<Grid Name="gridTwo">
<Label Content="My Label" Visibility="Collapsed">
<Label.Style>
<Style TargetType="Label">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lblCaption, Path=Content}" Value="Employers">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
<TextBox Text="{Binding EmployerName}" Visibility="Collapsed">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lblCaption, Path=Content}" Value="Employers">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</Grid>
Знам, че това също няма да работи, ако задам свойството Visibility като Collapsed по подразбиране в контрола, но имам много колекции и не мисля, че наличието на един DataTrigger за всяка колекция е добър начин да го постигна. Както и да е, един проблем възниква при обвързването на контроли в различни мрежи, а друг при обработката на свойството Visibility по добър начин.
Благодаря предварително!