LugaresWindow.xaml
<ItemsControl ItemsSource="{Binding LugaresBtns}" Margin="0,35,0,0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="7" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Button Content="{Binding numero}" Click="openLugar" Tag="{Binding idLugar}" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="96" Height="30"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
LugaresWindow.xaml.cs
private void addlugarbtn_Click(object sender, RoutedEventArgs e)
{
//(DataContext as LugarViewService).addLugar("11","6969","A","","1"); **IF I USE IT LIKE THIS IT WORKS!**
EditLugarWindow window = new EditLugarWindow(-1);
window.Show();
}
EditLugarWindow.xaml.cs (确认添加新记录的表单)
if (lvs.addLugar(idparquetxt.Text, numerotxt.Text, sectortxt.Text, matriculatxt.Text, selected))
{
this.Close();
}
在我的 LugarViewService.cs
上 public bool addLugar(string idParque, string numero, string sector, string matricula, string tipo)
{
int newnumero, newtipo, newparque;
try
{
newparque = int.Parse(idParque);
newnumero = int.Parse(numero);
newtipo = int.Parse(tipo);
pmclient.addLugar(newparque, newnumero, sector, matricula, newtipo, 1);
OnPropertyChanged("LugaresBtns");
return true;
}
catch (Exception e)
{
MessageBox.Show("Erro ao adicionar. Por favor verifique o numero de lugar ou o tipo\n" + e.Message);
return false;
}
}
public List<Lugar> LugaresBtns
{
get
{
return pmclient.getLugaresByParque(idParque).ToList();
}
}
因此,正如您所看到的,在使用另一个窗口插入新记录后,LugaresWindow.xaml不会更新。 我做错了什么?
谢谢大家!
答案 0 :(得分:0)
它已经解决了,我只需要将window.DataContext设置为我正在使用的lvs实例。 谢谢大家回复。