gpt4 book ai didi

.net - 将 WPF Canvas 子项绑定(bind)到 ObservableCollection

转载 作者:行者123 更新时间:2023-12-03 03:22:29 24 4
gpt4 key购买 nike

在我的 WPF 应用程序中,我有一个 Canvas,可以在其中进行一些绘图。早些时候,我在后面的代码中处理了绘图,但现在我已将所有内容分解到 ViewModel 中。这给我带来了一些挑战..

我有一些包含笔划的 InkPresenter 对象。早些时候,我在后面的代码中将它们作为子项添加到 Canvas 中 - 像这样:

// Build an InkPresenter: 
var someInkPresenter = BuildInkPresenter(..);
//_myCanvas is the <Canvas> I want to display it in:
_myCanvas.Children.Add(someInkPresenter);

现在 - 不在保存 _myCanvas 的 XAML 代码隐藏中构建 InkPresenter,我需要以不同的方式执行此操作。我想做的是创建一个 InkPresenter 并将其添加到集合中:

public ObservableCollection<InkPresenter> Drawings;

我现在的问题是如何将 Canvas 绑定(bind)到此 ObservableCollection - 并在添加到集合时显示 InkPresenters。我可以使用数据绑定(bind)以某种方式实现这一点吗?

最佳答案

我认为你可以用 ItemsControl 来做到这一点+ ItemsPanelTemplate 。像这样:

<ItemsControl ItemsSource="{Binding YourCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>

要了解有关此方法的更多信息,请参阅 Dr.WPF:ItemsControl: A to Z (P is for Panel)

关于.net - 将 WPF Canvas 子项绑定(bind)到 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com