110,539
社区成员
发帖
与我相关
我的任务
分享
public class ViewModel
{
private static ViewModel viewModel;
public static ViewModel GetInstance()
{
if (viewModel == null)
viewModel = new ViewModel();
return viewModel;
}
private ObservableCollection<Person> collection = new ObservableCollection<Person>();
public ObservableCollection<Person> Collection
{
get
{
CommonHelper.GetPersonList();
return CommonHelper.PersonList; // 此处为数据源定义,根据自己的需求来返回。
}
}
}
<Window x:Class="wpf.CSDN.FrmRefresh.WindowA"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WindowA" Height="300" Width="300">
<Grid>
<StackPanel>
<Button Width="120" Height="30" Content="弹出frmB" HorizontalAlignment="Left" Margin="10" PreviewMouseLeftButtonDown="Button_PreviewMouseLeftButtonDown"></Button>
<DataGrid x:Name="dgList" AutoGenerateColumns="False"
ItemsSource="{Binding Collection}" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Grid>
</Window>
/// <summary>
/// WindowA.xaml 的交互逻辑
/// </summary>
public partial class WindowA : Window
{
public WindowA()
{
InitializeComponent();
this.DataContext = ViewModel.GetInstance();
}
private void Button_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
WindowB windowb = new WindowB();
windowb.ShowDialog();
}
}
<Window x:Class="wpf.CSDN.FrmRefresh.WindowB"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WindowB" Height="300" Width="300">
<Grid>
<WrapPanel>
<TextBox x:Name="mytxt" Width="150"></TextBox>
<Button Content="add" PreviewMouseLeftButtonDown="Button_PreviewMouseLeftButtonDown"></Button>
</WrapPanel>
</Grid>
</Window>
/// <summary>
/// WindowB.xaml 的交互逻辑
/// </summary>
public partial class WindowB : Window
{
public WindowB()
{
InitializeComponent();
}
private void Button_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Person person = new Person()
{
Name = mytxt.Text.Trim(),
};
ViewModel.GetInstance().Collection.Add(person);
}
}