Мой usercontrol содержит 3000 NewDotControls в элементе управления. ControlTemplate для NewDotControl указывается в стиле, который определяет визуальные состояния, и существует триггер событий, который вызывает GotoStateAction для события Loaded.
<Controls:NewDotControl Style="{StaticResource MyDotStyle}"/>
Только около 445 из 3000 NewDotControls переходят в состояние «Выбрано», как определено EventTrigger, тогда как остальные NewDotControls не . То же самое происходит, когда я использую DataTriggers, которые связаны с ViewModel. Тот же xaml / code / app работает в WPF.
<Style x:Key="MyDotStyle" TargetType="Control">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Control">
<Viewbox x:Name="viewbox" RenderTransformOrigin="0.5,0.5"
>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="UnSelected">
</VisualState>
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.StrokeThickness)" Storyboard.TargetName="InnerEllipse" d:IsOptimized="True">
<EasingDoubleKeyFrame KeyTime="0" Value="2"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<ei:GoToStateAction StateName="Selected"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<Ellipse x:Name="InnerEllipse" Stroke="Red" StrokeThickness="0" RenderTransformOrigin="0.5,0.5"/>
</Viewbox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Почему DataTriggers / EventTriggers / GotoStateAction не работают для всех элементов управления в ItemsControl?
Если я удаляю начальный Loaded EventTrigger, около 775-800 NewDotControls отвечают на DataTriggers / GotoStateAction. Если я подключаю команды к элементу управления, команды выполняют и изменяют свойства ViewModel и запускают события PropertyChanged, но все же действие DataTrigger / GotoStateAction не происходит.
Чего мне не хватать? Существует ли ограничение на количество элементов в элементе управления, которое может быть связано с данными? Или есть проблема, потому что это в ControlTemplate? Почему это работает в WPF, а не в Silverlight?
Спасибо !!!
Раджеш