【发布时间】:2012-01-27 19:57:03
【问题描述】:
我有一个带有多个 TabItem 的 TabControl。偶尔我会遇到从一个选项卡切换到另一个选项卡的缓慢加载时间。首先想到的是服务,但是切换选项卡时应用程序似乎没有调用服务。
<TabControl Visibility="{Binding MenuVisible}" Name="MenuControl" Grid.Row="1" >
<TabItem Header="Business Rules Alerts" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="250" />
</Grid.RowDefinitions>
<ContentControl cal:RegionManager.RegionName="GraphAlertsRegion" Margin="0" />
<!-- Grid for UserListRegion and EventListRegion -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- EventList region -->
<ContentControl Grid.Column="0" cal:RegionManager.RegionName="EAlertsListRegion" Margin="0" />
</Grid>
</Grid>
</TabItem>
<TabItem Header="Business Rules">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height=".5*" />
<RowDefinition Height=".5*" />
</Grid.RowDefinitions>
<ContentControl Grid.Row="0" cal:RegionManager.RegionName="BusinessRulesListRegion" Margin="0" />
<Grid Grid.Row="1">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ItemsControl cal:RegionManager.RegionName="BusinessRulesWizardRegion" Margin="0" />
</ScrollViewer>
</Grid>
</TabItem>
</TabControl>
有没有办法提高性能? 特别是,
<ContentControl cal:RegionManager.RegionName="GraphAlertsRegion" Margin="0" />
是一个树视图加上一些图表 (<charting:Chart.Series>),这是较慢的选项卡。我确保当我们切换到该选项卡时代码不会调用服务。那么还有什么可能是延迟的原因呢?
【问题讨论】:
-
看看你的控件加载的事件处理程序,如果有的话。