Search code examples
wpfxamlmultidatatrigger

TextBlock exception when using multiDataTrigger


I'm trying to add 2 triggers to the visibility property of a textblock. The following code causes a "TextBlock exception". Any idea why?

<TextBlock Name="tb2"
           Style="{StaticResource MyPageTextStyle}"
           Text="{x:Static res:MyResources.MyText}"
           Visibility="Collapsed"
           >
           <TextBlock.Triggers>
                    <MultiDataTrigger>
                           <MultiDataTrigger.Conditions>
                                    <Condition Binding="{BindingPath=Class1.IsBlue}" Value="true" />
                                    <Condition Binding="{Binding Path=Class1.IsGreen}" Value="false" />
                           </MultiDataTrigger.Conditions>
                           <Setter TargetName="tb2" Property="TextBlock.Visibility" Value="Visible" />
                    </MultiDataTrigger>
            </TextBlock.Triggers>
 </TextBlock>

Solution

  • Instead of adding triggers to textblock add triggers to textblock style... some how adding triggers directly to control will throw xaml exceptions...

    try to do some thing like this...

    <TextBlock Name="tb2" Visibility="Collapsed">
                <TextBlock.Style>
                    <Style>
                         <Style.Triggers>
                            <MultiDataTrigger>
                                   <MultiDataTrigger.Conditions>
                                            <Condition Binding="{Binding Path=Class1.IsBlue}" Value="true" />
                                            <Condition Binding="{Binding Path=Class1.IsGreen}" Value="false" />
                                   </MultiDataTrigger.Conditions>
                                   <Setter Property="TextBlock.Visibility" Value="Visible" />
                            </MultiDataTrigger>
                         </Style.Triggers>
                    </Style>
                </TextBlock.Style>
            </TextBlock>