Эквивалент WPF ControlTemplate.Triggers в Silverlight - PullRequest
1 голос
/ 17 ноября 2011

Ниже приведен мой WPF ControlTemplate.Triggers, и я изменил код в silverlight с помощью Interactivity.Interaction.Triggers, и он не работает. Может кто-нибудь, пожалуйста, помогите мне.

Код WPF:

<ControlTemplate.Triggers>
                    <Trigger Property="HasItems" Value="false">
                        <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95"/>
                    </Trigger>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
                    </Trigger>
                    <Trigger Property="IsGrouping" Value="true">
                        <Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
                    </Trigger>
                    <Trigger SourceName="Popup" Property="Popup.AllowsTransparency" Value="true">
                        <Setter TargetName="DropDownBorder" Property="CornerRadius" Value="4"/>
                        <Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0"/>
                    </Trigger>
                    <Trigger Property="IsEditable"
                   Value="true">
                        <Setter Property="IsTabStop" Value="false"/>
                        <Setter TargetName="EditableTextBox" Property="Visibility"    Value="Visible"/>
                        <Setter TargetName="Presenter" Property="Visibility" Value="Hidden"/>
                    </Trigger>
                </ControlTemplate.Triggers>

Мой код Silverligh:

   <i:Interaction.Triggers>                   
                    <i:EventTrigger EventName="HasItems" >
                        <ic:ChangePropertyAction TargetName="DropDownBorder" PropertyName="MinHeight" Value="95" />
                    </i:EventTrigger>

                    <i:EventTrigger SourceName="Popup" >
                        <ic:ChangePropertyAction TargetName="DropDownBorder" PropertyName="CornerRadius" Value="4" />
                        <ic:ChangePropertyAction TargetName="DropDownBorder" PropertyName="Margin" Value="0,2,0,0"/>
                    </i:EventTrigger>

                    <i:EventTrigger EventName="Popup.AllowsTransparency">
                        <ic:ChangePropertyAction TargetName="Border" PropertyName="Background" Value="{StaticResource DisabledBackgroundBrush}" />
                        <ic:ChangePropertyAction TargetName="Border" PropertyName="BorderBrush" Value="{StaticResource DisabledBackgroundBrush}" />
                        <ic:ChangePropertyAction TargetName="Border" PropertyName="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>

Заранее спасибо !!!

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011

Похоже, вам нужно использовать Microsoft.Expression.Interactivity.Core.DataTrigger (что эквивалентно Trigger), а не EventTrigger.

0 голосов
/ 17 ноября 2011

Глядя на ваш код Silverlignt, я получил одну вещь ...

 <i:EventTrigger EventName="HasItems" >    
                     <ic:ChangePropertyAction TargetName="DropDownBorder"    
                      PropertyName="MinHeight" Value="95" />                     
</i:EventTrigger> 

я верю HasItems это не событие, это свойство

Проверьте этот ответ и комментарии тоже:) и эта ссылка также может помочь ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...