如何使用wpf中的数据控件创建n个数量的选项卡?
假设主应用程序有一个名为“新客户”和“保存数据”的按钮。按“新客户”时,会出现一个新选项卡,其中包含选项卡中包含的两个文本框“名称”和“客户编号”,依此类推。填充两个字段后,按“保存数据”应将焦点选项卡中的信息存储到数据库中。
我遇到的问题是我的“名称”和“客户编号”文本框的静态名称为x:Name =“CustomerName”和x:Name =“CustomerNumber”。我发现你不能复制这些。
有人可以就如何解决这个问题提出建议吗?先感谢您!
答案 0 :(得分:0)
使用MVVM:
为新客户提供View和ViewModel,并在视图上使用保存按钮,该按钮执行代码以将Customer保存到数据库。此代码应存在于客户模型或客户服务中。
NewCustomerView不需要具有与其控件关联的名称,因为您将Text属性绑定到ViewModel或底层模型上的属性,除非您必须引用它们用于其他目的而不是从每个属性获取数据之一。
在主窗体上,您将拥有Tab Control,其项目源设置为MainWindowViewModel上的ObservableCollection。按New Customer按钮将填充此ObservableCollection的新条目。
在MainWindowView中,您将放置一个数据模板,将NewCustomerViewModel映射到NewCustomerView,例如:
<DataTemplate DataType="{x:Type vm:NewCustomerViewModel}">
<AdornerDecorator>
<views:NewCustomerView DataContext="{Binding}"/>
</AdornerDecorator>
</DataTemplate>
这基本上是说当内容是NewCustomerViewModel时,渲染一个NewCustomerView。
你应该去阅读MVVM,因为这将解决你的命名问题,以及更好的架构应用程序。
在MVVM上查看Josh Smiths article,还有很多其他信息可供阅读。