【发布时间】:2021-06-28 05:54:20
【问题描述】:
我是 wpf 的新手。我在 MainWindow 中有一个按钮。单击按钮时,我会生成一个 SecondWindow。我想将 List<string> 从 MainWindow 传递给 SecondWindow。我有一个“SecondViewModel”类作为Window.DataContext 的SecondWindow。 '列表' 应该可用于SecondViewModel。我该怎么做?
MainWindow.xaml
<Grid>
<Button x:Name="showSeondWindow"
Content="Show second window"
Click="showSeondWindow_Click"
/>
</Grid>
MainWindow.cs
public partial class MainWindow : Window
{
// should able to pass this list to second window
List<string> dataToPass = new List<string>();
public MainWindow()
{
InitializeComponent();
dataToPass.Add("apple");
dataToPass.Add("banana");
dataToPass.Add("orange");
}
private void showSeondWindow_Click(object sender, RoutedEventArgs e)
{
// How to pass that list to second window???
SecondWindow sw = new SecondWindow();
sw.Show();
}
}
SecondWindow.xaml
<Window.DataContext>
<local:SecondViewModel/>
</Window.DataContext>
SecondViewModel.cs
public class SecondViewModel
{
public SecondViewModel()
{
// I want to use the List passed from main window to SecondWindow inside this
// SecondViewModel Class
}
}
【问题讨论】:
-
为什么不通过构造函数传递列表?
-
@AdrianEfford 那么我如何在
SecondViewModel类中使用?我对 wpf 完全陌生。我是否需要更改 '' 中的某些内容 -
让我为你创建一个详细的答案