gpt4 book ai didi

.net - ContentControl 和 ContentPresenter 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 04:10:37 26 4
gpt4 key购买 nike

我不确定何时应该使用 ContentPresenter 而不是 ContentControl(反之亦然)。目前,我几乎一直在 DataTemplate 中使用 ContentControlContentPresenter 什么时候会是更好的选择?为什么?

最佳答案

ContentControl 是包含其他元素并具有 Content 属性(例如 Button)的控件的基类。

ContentPresenter 用于在控件模板内显示内容。

ContentControl,当直接使用时(它应该用作基类),有一个使用 ContentPresenter 来显示其内容的控件模板。

我的经验法则(并不适用于所有情况,请自行判断):

  1. ControlTemplate 内使用 ContentPresenter
  2. ControlTemplate 之外(包括 DataTemplate 和外部模板)尽量不要使用其中任何一个,如果需要,您必须首选 ContentPresenter
  3. 子类 ContentControl 如果您要创建托管内容的自定义“外观”控件,并且无法通过更改现有控件的模板获得相同的结果(这种情况应该极为罕见)。<

关于.net - ContentControl 和 ContentPresenter 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287995/

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