小编Ser*_*gey的帖子

绑定到父级 DataContext 中的依赖项属性

我想将第三列绑定到CollectionBindingTwoWindow 的 DataContext 内的属性,而不是来自CollectionBindingOne.

通过在 WPF 中定义第二个集合,<DataGrid>假定本地范围或其他内容,并指向 ItemsSource () 的 Items 中的属性CollectionBindingOne

<DataGrid DockPanel.Dock="Top" ItemsSource="{Binding CollectionBindingOne}" AutoGenerateColumns="False">
    <DataGridTextColumn Header="One" Binding="{Binding PropOne}"/>
    <DataGridTextColumn  Header="Two" Binding="{Binding PropTwo}"/>
    <DataGridComboBoxColumn Header="Three" ItemsSource="{Binding CollectionBindingTwo}"/>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

例如,这有效,因为ComboBox不在 a 内<DataGrid>

<ComboBox IsEditable="True" ItemsSource="{Binding CollectionBindingTwo}"></ComboBox>
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml binding datagrid

5
推荐指数
1
解决办法
1765
查看次数

用于处理大数据量(100 万条记录及更多)的数据结构和技术

我一直在开发一个 WPF .NET 4.5 应用程序,最初适用于小数据量,现在适用于 100 万甚至更多的更大数据量,当然我开始耗尽内存。数据来自 MS SQL DB,数据处理需要加载到本地数据结构,因为这些数据随后由 CLR 中的代码转换/处理/引用,需要连续且不间断的数据访问,但并非所有数据都具有立即加载到内存中,但仅在实际访问时才加载。作为一个小例子,反距离插值器使用此数据来生成插值地图,并且所有数据都需要传递给它以进行连续网格生成。

我重写了应用程序的某些部分来处理数据,例如在任何给定时间仅加载 x 行数,并实现有效的数据处理滑动窗口方法。然而,为应用程序的其余部分执行此操作将需要一些时间投入,我想知道是否可以有一种更强大和标准的方法来解决这个设计问题(必须有,我不是第一个)?

太棒了;C# 是否提供任何数据结构或技术来以中断方式访问大量数据,因此它的行为类似于 IEnumerable,但数据在实际访问或需要之前并不在内存中,还是完全由我来管理内存使用?我的理想是一种结构,它可以自动实现类似缓冲区的机制,并在访问数据时加载更多数据,并从已访问且不再感兴趣的数据中释放内存。也许像一些带有内部缓冲区的数据表?

.net c# large-data data-structures

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

标签 统计

c# ×2

.net ×1

binding ×1

data-structures ×1

datagrid ×1

large-data ×1

wpf ×1

xaml ×1