通过按钮动态添加控件

时间:2019-06-12 01:34:45

标签: wpf dynamic textbox controls

我一直想尝试动态生成文本框,然后将这些文本框访问以便存储到app.config文件中以备将来使用。我正在尝试使用它来存储文件位置。到目前为止,我已经部分成功地使用了字符串生成器和Oberservable列表。我一直在寻找关于如何采用这些方法或除MVVM之外的任何新方法的方法的知识(是的,我知道我确实应该使用这种方法,但这是我的第一个WPF应用程序,我仍在尝试总结一下围绕这些概念。我还完成了80%的工作,因为我的大部分代码都是用Winform编写的,然后为了增加更好的界面而移植到WPF中)

到目前为止,字符串生成器方法似乎仅在单击时添加1个控件-要么是在同一位置添加了其他文本框,所以我看不到它们,也无法确定如何使用字符串生成器来更改位置,即使可能。

就添加按钮而言,“可观察”方法似乎效果很好,但是我无法弄清楚如何访问动态字段,以便保存它们。

字符串生成器代码

sb.Append(@"<TextBox xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" IsReadOnly=""False"" HorizontalAlignment=""Left"" Height=""43"" Width=""100"" Margin=""-625, 10"" />");

可观察的方法

public class MyData
{
        public string OriginalLocation { get; set; }
        public string DestinationLocation { get; set; }
        //public Button FileBrowse1 { get; set; }

}



public partial class MainWindow : Window
{

      ObservableCollection<MyData> _myData = new ObservableCollection<MyData>();

    public MainWindow()
    {
            InitializeComponent();
            dataGrid.ItemsSource = _myData;    
    }`
    `private void btnAdd_Click(object sender, RoutedEventArgs e)
    {

        _myData.Add(new MyData());

    }
}

0 个答案:

没有答案