WPF选项卡控件,所有选项卡具有相同的控件

WPF选项卡控件,所有选项卡具有相同的控件,wpf,textbox,tabcontrol,user-input,Wpf,Textbox,Tabcontrol,User Input,如何使用wpf中的数据控件创建n个选项卡 假设主应用程序有一个名为“new customer”(新客户)和“save data”(保存数据)的按钮。当按下“new customer”(新客户)时,会出现一个新选项卡,其中包含两个文本框“Name”(名称)和“customer Number”(客户编号),以此类推。填充这两个字段后,按“保存数据”将把焦点选项卡中的信息存储到数据库中 我遇到的问题是,“名称”和“客户编号”文本框的静态名称为x:name=“CustomerName”和x:name=“

如何使用wpf中的数据控件创建n个选项卡

假设主应用程序有一个名为“new customer”(新客户)和“save data”(保存数据)的按钮。当按下“new customer”(新客户)时,会出现一个新选项卡,其中包含两个文本框“Name”(名称)和“customer Number”(客户编号),以此类推。填充这两个字段后,按“保存数据”将把焦点选项卡中的信息存储到数据库中

我遇到的问题是,“名称”和“客户编号”文本框的静态名称为x:name=“CustomerName”和x:name=“CustomerNumber”。我发现你不能复制这些

有人能给我建议一下如何解决这个问题吗?提前谢谢你

使用MVVM:

为新客户创建一个视图和一个ViewModel,视图上有一个save按钮,执行代码将客户保存到数据库中。此代码应该存在于客户模型或客户服务中

NewCustomerView不需要有与其控件相关联的名称,因为您将把它们的文本属性绑定到ViewModel或基础模型上的属性,除非您为了从每个控件获取数据之外的其他目的而引用它们

在主窗体上,您可以使用Tab控件,其项源在MainWindowViewModel上设置为ObservableCollection。按下New Customer(新客户)按钮将在此ObservableCollection中填充一个新条目

在MainWindowView中,您将放置一个将NewCustomerViewModel映射到NewCustomerView的数据模板,例如:

  <DataTemplate DataType="{x:Type vm:NewCustomerViewModel}">
    <AdornerDecorator>
       <views:NewCustomerView DataContext="{Binding}"/>
    </AdornerDecorator>
  </DataTemplate>


在MVVM上,还有很多其他信息需要阅读。

如果我不采用MVVM设计路线,还有其他方法执行吗?当用户单击“新客户”时,您仍然可以将TabControl ItemsSource绑定到代码中的用户控件的可观察集合,创建NewCustomerUserControl的新实例并将其添加到集合中