小编oer*_*pli的帖子

更新元素时​​的WPF性能

我目前正在开发一个Ising模型的GUI (德国维基百科,因为只有右边的图片才真正重要),它应该包含大约200x200的自旋元素.我通过以下方式实现了这个:

<UniformGrid Name="grid" .... />
Run Code Online (Sandbox Code Playgroud)

并为代码中的每个旋转添加一个矩形,如果旋转的值发生变化,我将更新该代码.这种方式非常慢,我改变它,所以它使用Binding

 <ItemsControl Name="IsingLattice" ItemsSource="{Binding Spins}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Name="grid" ...
            ...
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Rectangle Fill={Binding Color} ...
Run Code Online (Sandbox Code Playgroud)

但这又是 - 非常慢.我试图调试并改进它3天,但到目前为止没有成功.

现在的问题是:我的方法是错的吗?如果是这样我应该使用什么?如果不是 - 我怎样才能提高性能?

如果它是相关的,我将更新这篇文章,其中包含我的模型实现的一些细节.

编辑:应该可以通过与元素交互来更改单个旋转.这可以通过实际图形顶部的透明层完成,但也许不是那么难.

.net c# wpf performance xaml

4
推荐指数
1
解决办法
1051
查看次数

标签 统计

.net ×1

c# ×1

performance ×1

wpf ×1

xaml ×1