以下是我的WPF ControlTemplate.Triggers,我已经使用Interactivity.Interaction.Triggers更改了Silverlight中的代码,但它无法正常工作。 任何人都可以帮助我。
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>
提前致谢!!!
答案 0 :(得分:0)
看看你的Silverlignt代码,我得到的一件事就是......
<i:EventTrigger EventName="HasItems" >
<ic:ChangePropertyAction TargetName="DropDownBorder"
PropertyName="MinHeight" Value="95" />
</i:EventTrigger>
我相信HasItems
不是一个属性
Check this Answer and the comments too :)这个link也可能有所帮助......
答案 1 :(得分:0)
看起来你需要使用Microsoft.Expression.Interactivity.Core.DataTrigger(相当于Trigger)而不是EventTrigger。