我目前有兩個窗口,我的主應用程序窗口,然後我有一個「編輯器」窗口,用於改變我最近實施的TreeView內的某些東西隱藏所有子部門/顯示的能力,但是我有一個問題,如果我隱藏/顯示所有這些只有原始選擇將隱藏/顯示,直到我使用我的刷新功能...所以我的問題是..是否有無論如何,我可以在我的編輯器上設置我的接受按鈕,因爲這是兩個獨立的文件我似乎無法訪問名爲「資源管理器」的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);
}
}