我目前有两个窗口,我的主应用程序窗口,然后我有一个“编辑器”窗口,用于更改 TreeView 中的某些内容(这些是部门)我最近实现了隐藏所有子部门/节目的能力,但是我有一个问题,如果我隐藏/显示所有这些只有原始选择将被隐藏/显示,直到我使用我的刷新功能......所以我的问题是......无论如何我可以在我的编辑器上设置我的接受按钮导致刷新我的页面,因为它们都是两个单独的文件,我似乎无法访问名为“explorer”的 TreeView
我当前的刷新是如何完成的:
public void RefreshData()
{
explorer.Items.Clear();
using (new SessionConnecter(session))
{
var topLevelDepartments = session.CreateCriteria(typeof(Department))
.Add(NHibernate.Expression.Expression.Eq(Department.IS_TOP_LEVEL, true))
.List<Department>();
foreach (Department d in topLevelDepartments)
{
explorer.Items.Add(Fabric.ObjectProvider.Get<INodeWrapperFactory>().Create(d));
}
}
}
当前保存代码:
void Save(object sender, ExecutedRoutedEventArgs e)
{
FocusManager.SetFocusedElement(GetWindow(savebutton), savebutton);
if (!session.IsConnected)
session.Reconnect();
try
{
if (ValidateModel())
{
session.Save(model);
if (pendingParent != null)
{
model.Parent = pendingParent;
// session.Save(pendingParent); - should cascade
}
session.Flush();
Close();
}
}
catch (NHibernate.Classic.ValidationFailure ex)
{
if (pendingParent != null)
session.Refresh(pendingParent);
if (session.IsConnected)
session.Disconnect();
MessageBox.Show(this, ex.Message, this.Title, MessageBoxButton.OK, MessageBoxImage.Warning);
}
}