gpt4 book ai didi

wpf - 使用 XAML 创建 WPF UserControl,以便我可以在其中嵌套子控件

转载 作者:行者123 更新时间:2023-12-04 20:04:49 27 4
gpt4 key购买 nike

我正在尝试在 WPF/XAML 中创建一个“标题 block ”UserControl,其行为如下:

  • 控件本身是一个包含 DockPanel 的 Border。 DockPanel 包含一个顶部对齐的“标题”TextBlock,此 DockPanel 的其余部分应该是“子窗口小部件区域”。

控件声明是这样的:

<Border x:Name="LayoutRoot" Background="#4C000000" CornerRadius="10" Padding="10">
<DockPanel>
<TextBlock Text="Some Title" DockPanel.Dock="Top" />
</DockPanel>
</Border>

预期的用法是这样的:

<Grid x:Name="LayoutRoot" Background="White">
<local:Bloco Height="100" Width="100" Title="Other Title">
<local:Bloco Title="Yet other title" />
</local:Bloco>
</Grid>

要渲染这样的东西:

enter image description here

不过,实际的当前渲染是无效的。问题是:

  • 我不知道(也没有通过搜索找到)如何使控件具有“子容器”,我可以通过在 XAML 中直接嵌套来添加子容器;
  • 我不知道如何为用户控件的每个实例绑定(bind)不同的标题,无论是通过 XAML 属性或绑定(bind)(最好),还是通过代码隐藏。编写上述代码会创建无效的 xaml 代码,这不足为奇,因为“Title”属性尚不存在。

感谢阅读!

最佳答案

  1. 您可以创建继承自 ContentControl 的控件并为其添加模板
  2. 如果您想要访问 xaml 中的自定义属性作为属性,您需要将其注册为 DependencyProperty(请参阅 enter link description here)

关于wpf - 使用 XAML 创建 WPF UserControl,以便我可以在其中嵌套子控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316982/

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