我正在使用DataTemplate动态更改我的UI视图。DataTemplate切换性能
但是,我发现性能是相当不可接受的。
这里是我的代码:
XAML(可Views.xaml):
<ResourceDictionary>
<DataTemplate .... x:name="D1" ....../>
<DataTemplate .... x:name="D2" ....../>
<DataTemplate .... x:name="D3" ....../>
<DataTemplate .... x:name="D4" ....../>
</ResourceDictionary>
代码:
ResoucesDictionary RD = Application.LoadComponent(new Uri("../Views.xaml", UriKind.Relative)) as ResourceDictionary;
if (...condition..)
{
MyGroupBox.ContentTemplate = RD["D1"] as DataTemplate;
}
else if (....condition...)
{
MyGroupBox.ContentTemplate = RD["D2"] as DataTemplate;
}
.....
.....
....
.
....
else
{
.......
}
MyGroupBox是我的UI的分组框中的实例。我希望在运行时更改GroupBox的视图,以便使用DataTemplate。
但是,我发现只要特定条件被触发,就会在> 0.5秒后显示正确的用户界面。
难道DataTemplate的性能很差吗?或者有什么我错过了?或错?
非常感谢。
在切换模板期间是否正在进行任何动画? – 2012-03-13 03:30:45
大多数情况下,数据模板是在Xaml中而不是在代码中选择的。你确定你的代码是必需的吗?如果你能解释你的情况,它可能会有所帮助。 – 2012-03-13 14:29:59
此外,您似乎每次点击该方法时都会加载和解析'Views.xaml'的内容 - 这可能会导致性能下降。也许如果你至少缓存了这个值,你会看到更好的结果。 – 2012-03-13 14:30:41