mik*_*010 2 c# silverlight wpf xaml
我正在使用 ItemsControl 根据我的模型生成控件列表。在查看可视化树时,我注意到每个呈现的控件都包含在一个 ContentPresenter 中。添加的控件是第 3 方控件,旨在在每个控件之间显示一个分隔符(如果它们是同级控件)。这允许用户调整每个控件的大小。例如,下面将显示运行时每个控件之间的分隔符。
<StackPanel>
<3rdPartyControl />
<3rdPartyControl />
<3rdPartyControl />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
使用 ItemsControl 时,每个 3rdPartyControl 都包装在 ContentPresenter 中,因此不显示拆分器。我尝试了各种方法来尝试解决这个问题,但除非我编写代码来添加每个控件而不是依赖 Xaml,否则无法使其正常工作。有谁知道完全替换 contentpresenter 的方法(在我的情况下是 3rdpartyControl)?
谢谢
为了替换 ContentPresenter,您可以从 ItemsControl 派生并覆盖GetContainerForItemOverride方法以创建专门的容器控件。
例如,ListBox 覆盖此方法以创建一个 ListBoxItem 作为新项目对象的容器。
归档时间: |
|
查看次数: |
1479 次 |
最近记录: |