C# ExpanderView在扩展时性能不佳(XAML+;UWP)
我正在构建一个UWP应用程序,它使用WPF()的ExpanderView的a移植版本,我使用一个列表框显示多个ExpanderView,具体取决于我的视图模型中的数据。我在扩展带有许多项的ExpanderView时面临性能问题。正如您在GIF中看到的,第一个父项的展开非常缓慢,需要一些时间来显示所有子项。如果父对象没有那么多子对象,则动画相当平滑 有没有人有过这种控制的经验,可以帮助我加快扩展速度 这是我的XAML代码:C# ExpanderView在扩展时性能不佳(XAML+;UWP),c#,wpf,xaml,expander,uwp,C#,Wpf,Xaml,Expander,Uwp,我正在构建一个UWP应用程序,它使用WPF()的ExpanderView的a移植版本,我使用一个列表框显示多个ExpanderView,具体取决于我的视图模型中的数据。我在扩展带有许多项的ExpanderView时面临性能问题。正如您在GIF中看到的,第一个父项的展开非常缓慢,需要一些时间来显示所有子项。如果父对象没有那么多子对象,则动画相当平滑 有没有人有过这种控制的经验,可以帮助我加快扩展速度 这是我的XAML代码: <Grid> <ListBox
<Grid>
<ListBox Name="listbox">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate x:DataType="models:Parent">
<controls:ExpanderControl
ItemsSource="{x:Bind Childs}"
HeaderTemplate="{StaticResource CustomHeaderTemplate}"
ExpanderTemplate="{StaticResource CustomExpanderTemplate}"
ItemTemplate="{StaticResource CustomItemTemplate}"
NonExpandableHeaderTemplate="{StaticResource CustomNonExpandableHeaderTemplate}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
此代码来自模型
public class Category
{
public string Name{ get; set; }
public List<Subcategory> Childs{ get; set; }
}
公共类类别
{
公共字符串名称{get;set;}
公共列表子项{get;set;}
}
贾斯汀XL为我指明了正确的方向! 此行为是由ExpanderView的动画引起的 在类
ExpanderControl.cs
中,有这些属性用于控制折叠和展开过程的动画
private const int KeyTimeStep = 35;
private const int InitialKeyTime = 225;
private const int FinalKeyTime = 250;
减小KeyTimeStep的值会导致更快地展开和折叠动画
谢谢 这不是性能问题。。。对我来说,它看起来很光滑。动画只是有一个级联效果,通过一个短暂的延迟一个接一个地为项目设置动画。如果你不想要这种行为,你需要找到动画代码并进行更改。Hello@JustinXL,我在UWP Win-10(通用应用程序)中尝试过,但没有成功。。。你能帮帮我吗。我需要具有精确外观和动画的精确控件。@ZiaUrRahman我创建了一个UWP优化版本的控件。你可以在GitHub上找到它