gpt4 book ai didi

c# - 用正在呈现的控件完全替换 ItemsControl ContentPresenter

转载 作者:行者123 更新时间:2023-11-30 21:01:46 26 4
gpt4 key购买 nike

我正在使用 ItemsControl 生成基于我的模型的控件列表。查看可视化树时,我注意到每个呈现的控件都包装在一个 ContentPresenter 中。添加的控件是第 3 方控件,旨在显示每个控件之间的分隔符(如果它们是同级控件)。这允许用户调整每个控件的大小。例如,以下将在运行时显示每个控件之间的分隔符。

<StackPanel>
<3rdPartyControl />
<3rdPartyControl />
<3rdPartyControl />
</StackPanel>

使用 ItemsControl 时,每个 3rdPartyControl 都包装在 ContentPresenter 中,因此不显示拆分器。我已经尝试了各种方法来尝试解决这个问题,但无法让它工作,除非我在后面编写代码来添加每个控件而不是依赖 Xaml。有谁知道完全替换 contentpresenter 的方法(在我的例子中是 3rdpartyControl)?

谢谢

最佳答案

为了替换 ContentPresenter,您可以从 ItemsControl 派生并覆盖 GetContainerForItemOverride创建专用容器控件的方法。

例如,ListBox 重写此方法以创建一个 ListBoxItem 作为新项目对象的容器。

关于c# - 用正在呈现的控件完全替换 ItemsControl ContentPresenter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887316/

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