gpt4 book ai didi

c# - WPF:自定义控件中的多个内容呈现器?

转载 作者:可可西里 更新时间:2023-11-01 08:19:24 31 4
gpt4 key购买 nike

我正在尝试拥有一个自定义控件,该控件需要 2 个或更多 XAML 区域由子控件定义 - 从该控件继承。我想知道是否有一种方法可以定义多个 contentpresenter 和一个充当默认 content presenter

<MyControl>
<MyControl.MyContentPresenter2>
<Button Content="I am inside the second content presenter!"/>
</MyControl.MyContentPresenter2>

<Button Content="I am inside default content presenter" />
</MyControl>

这可能吗,如何在自定义控件的模板中定义它?

最佳答案

模板可以像这样绑定(bind)单独的 ContentPresenter 实例(我在这里只设置了一个属性,但您可能想要设置其他属性):

<ContentPresenter Content="{TemplateBinding Content1}"/>
<ContentPresenter Content="{TemplateBinding Content2}"/>

控件本身应该公开两个内容属性并使用 ContentPropertyAttribute 设置默认值:

[ContentProperty("Content1")]
public class MyControl : Control
{
// dependency properties for Content1 and Content2
// you might also want Content1Template, Content2Template, Content1TemplateSelector, Content2TemplateSelector
}

关于c# - WPF:自定义控件中的多个内容呈现器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044924/

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