wpf c#端MainWindow调用yenikaytekle窗口获取性能,我使用ado.net数据模型填充xaml文件中的列表视图。
public MainWindow()
{
InitializeComponent();
FillMarkaListView();
}
/// <summary>
/// fill the list view
/// </summary>
public void FillMarkaListView()
{
//get list of all marka
List<MARKA> listOfMarka = dbContext.MARKA.ToList();
lvMarka.ItemsSource = listOfMarka;
}
/// <summary>
/// add new item to marak table,with open new window to give marka name
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnYeniMarkaEkle_Click(object sender, RoutedEventArgs e)
{
//here open new window to take the details of model
YeniMarkaEkle saveWindow = new YeniMarkaEkle();
saveWindow.ShowDialog();
}
}
另一个获取模型详细信息的窗口,在这里我称该窗口获取模型的属性并将数据保存在数据库中
public partial class YeniMarkaEkle : Window
{
private BaburTechEntities dbContext = new BaburTechEntities();
public YeniMarkaEkle()
{
InitializeComponent();
}
private void Window_ContentRendered(object sender, EventArgs e)
{
txtMarka.SelectAll();
txtMarka.Focus();
}
/// <summary>
/// add new marka to the table
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDialogOk_Click(object sender, RoutedEventArgs e)
{
MARKA mARKA = new MARKA();
mARKA.ADI = txtMarka.Text.ToUpper();
dbContext.MARKA.Add(mARKA);
dbContext.SaveChanges();
this.Close();
}
}
这是我的主窗口xaml代码
<!-- List of marka-->
<StackPanel Grid.Row="1" Margin="10">
<Grid>
<ListView Margin="10" x:Name="lvMarka" >
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="BorderBrush" Value="LightGray" />
<Setter Property="BorderThickness" Value="0,0,0,1" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Header="Kategori ID" Width="200" DisplayMemberBinding="{Binding ID}" />
<GridViewColumn Header="Kategori" Width="200" DisplayMemberBinding="{Binding ADI}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</StackPanel>
答案 0 :(得分:0)
如果要获取更新的列表,请在调用dbContext.MARKA.ToList()
之后再调用saveWindow.ShowDialog();
并将其设置为listView itemssource,但是您应该阅读有关MVVM的信息,因为此处的操作没有遵循良好做法。
编辑:
private List<MARKA> listOfMarka
public MainWindow()
{
listOfMarka= new List<MARKA>();
InitializeComponent();
FillMarkaListView();
}
private List<MARKA> listOfMarka
/// <summary>
/// fill the list view
/// </summary>
public void FillMarkaListView()
{
//get list of all marka
listOfMarka = dbContext.MARKA.ToList();
lvMarka.ItemsSource = listOfMarka;
}
/// <summary>
/// add new item to marak table,with open new window to give marka name
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnYeniMarkaEkle_Click(object sender, RoutedEventArgs e)
{
//here open new window to take the details of model
YeniMarkaEkle saveWindow = new YeniMarkaEkle(listOfMarka);
saveWindow.ShowDialog();
lvMarka.ItemsSource = listOfMarka;
}
public partial class YeniMarkaEkle : Window
{
private BaburTechEntities dbContext = new BaburTechEntities();
private List<MARKA> listOfMarka;
public YeniMarkaEkle(List<MARKA> listOfMarka)
{
listOfMarka = listOfMarka;
InitializeComponent();
}
private void Window_ContentRendered(object sender, EventArgs e)
{
txtMarka.SelectAll();
txtMarka.Focus();
}
/// <summary>
/// add new marka to the table
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDialogOk_Click(object sender, RoutedEventArgs e)
{
MARKA mARKA = new MARKA();
mARKA.ADI = txtMarka.Text.ToUpper();
listOfMarka.Add(mARKA);
dbContext.MARKA.Add(mARKA);
dbContext.SaveChanges();
this.Close();
}