我正在创建WPF应用程序,我有需要由用户填写的字段,然后单击添加。然后,用户必须看到他们选择了什么,并添加更多,如果他们想要的。例如,他们添加EmployeeName、Designation、Location等,然后单击Add。在同一页面的下一部分中,我需要显示添加的信息,并允许用户添加更多信息,并在添加时显示。现在我的问题是,我们如何显示添加的信息,而不存储在数据库中?
93ze6v8z1#
你说的是两个控件,第一个是输入表单,另一个是列表。如果你想要的只是添加到列表中,那么把你的列表绑定到一个可观察的集合上,然后简单地添加到这个集合中。但是你必须使用ObservableCollection<T>。
ObservableCollection<T>
klh5stk12#
我遵循以下方法并为我工作。如果这对任何人都有帮助。单击添加,通过创建xdocument存储此信息。然后通过使用ObservableCollection创建控件加载xml来显示信息单击“添加”按钮后,将信息保存到xml文件中
XDocument document = new( new XElement( "InstrumentTask", new XElement( "EmployeeName", "Value1" ), new XElement( "Designation", "Value2" ), ) ); document.Save( FilePath );
显示保存的信息从XML到UI如下
public ObservableCollection<string> SomeCollection { get; set; } XmlDocument doc = new( ); doc.Load( FilePath ); foreach ( XmlNode node in doc.DocumentElement.ChildNodes ) { this.SomeCollection.Add( node.InnerText ); }
下面是我的XAML显示XML信息的样子
<StackPanel Margin="0,50,0,0"> <ItemsControl ItemsSource="{Binding SomeCollection, UpdateSourceTrigger= PropertyChanged, Mode=TwoWay}"> <ItemsControl.ItemTemplate> <DataTemplate> <TextBox Text="{Binding Path=.}" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </StackPanel>
2条答案
按热度按时间93ze6v8z1#
你说的是两个控件,第一个是输入表单,另一个是列表。
如果你想要的只是添加到列表中,那么把你的列表绑定到一个可观察的集合上,然后简单地添加到这个集合中。但是你必须使用
ObservableCollection<T>
。klh5stk12#
我遵循以下方法并为我工作。如果这对任何人都有帮助。单击添加,通过创建xdocument存储此信息。然后通过使用ObservableCollection创建控件加载xml来显示信息
单击“添加”按钮后,将信息保存到xml文件中
显示保存的信息从XML到UI如下
下面是我的XAML显示XML信息的样子