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

时间:2010-02-19 08:47:31

标签: wpf user-controls wpf-controls dockpanel

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

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

TabItemTemplate也位于DockPanel内,但它没有停靠在TabItem中。有什么收获?

1 个答案:

答案 0 :(得分:2)

我建议使用TabControl.ItemTemplate,并将TabControl.ItemsSource绑定到ViewModels的ObservableCollection。当用户单击按钮时,将新的View Model实例添加到集合中。有关详细信息,请参阅此文章:WPF Apps With The Model-View-ViewModel Design Pattern