通过复制 WPF 中的现有控件来动态添加控件的最佳实践

发布于 2024-08-21 18:32:42 字数 490 浏览 7 评论 0原文

我有一个 TabControl。 单击按钮时,我想向 TabControl 添加一个新的 TabItem。 在各种技术中,我选择在 DockPanel 内部创建 UserControl。 一切工作正常,除了新 TabItem 上的控件位置不是 0,而是 未在主窗体调整大小时展开。 一切都很简单。

    <TabItem Header="new control">
        <DockPanel LastChildFill="True">
           <tc:TabItemTemplate/>
        </DockPanel>
    </TabItem>

TabItemTemplate 也位于 DockPanel 内部,但它没有停靠在 TabItem 内部。有什么问题吗?

I have a TabControl.
While clicking a button I want to add a new TabItems to the TabControl.
Among various techniques I've chosen to create UserControl inside of a DockPanel.
Everything works fine, except for the location of control on a new TabItem is not 0 and it is
not expanded on the main form resize.
Everything is quite simple.

    <TabItem Header="new control">
        <DockPanel LastChildFill="True">
           <tc:TabItemTemplate/>
        </DockPanel>
    </TabItem>

And TabItemTemplate is also located inside a DockPanel, but it's not docked inside a TabItem. What's the catch?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青瓷清茶倾城歌 2024-08-28 18:32:42

我建议使用 TabControl.ItemTemplate ,并将 TabControl.ItemsSource 绑定到 ObservableCollection ViewModel。当用户单击按钮时,将新的视图模型实例添加到集合中。有关更多详细信息,请参阅本文:采用模型-视图-视图模型设计的 WPF 应用程序图案

I would suggest using TabControl.ItemTemplate, and bind TabControl.ItemsSource to ObservableCollection of ViewModels. When user clicks on a button, add new View Model instance to the collection. Refer to this article for more details: WPF Apps With The Model-View-ViewModel Design Pattern

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文