protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { if (m_AppArgs.Waiting) { RscPageArgsRet appOutput = m_AppArgs.GetOutput(); if (appOutput != null) { switch (appOutput.ID) { case "RootFldrPath": { if (appOutput.GetFlag(0) == "Ok") { m_txtRootFldr.Text = appOutput.GetData(0); ListFiles(); } else { //NOP... } break; } case "CopyMove": { if (appOutput.GetFlag(0) == "Ok") { m_sCopyMoveDest = appOutput.GetData(0); if (chbRecurse.IsChecked.Value && (m_txtRootFldr.Text.Length == 0 || m_sCopyMoveDest.ToUpper().IndexOf(m_txtRootFldr.Text.ToUpper()) == 0)) { MessageBox.Show("Unable to " + m_sCopyMove + " from parent folder to its' child folder."); } else { m_AppFrame.SetStatusText(m_sCopyMove + "..."); m_AppFrame.StartTimer("copy move files", LayoutRoot, 1, 0, true); } } else { //NOP... } break; } case "txRenameTo": { if (appOutput.GetFlag(0) == "Ok") { RscFileItemDesc it = m_files[0]; string sNewName = appOutput.GetData(0); if (it.strFileName.ToUpper().CompareTo(sNewName.ToUpper()) != 0) { RscStore store = new RscStore(); string sNewPath = it.strParent; if (sNewPath.Length > 0) { sNewPath += "\\"; } sNewPath += sNewName; if (store.FileExists(sNewPath)) { MessageBox.Show("Name already in use!\r\n\r\n" + sNewPath); } else { if (RscStore.ExtensionOfPath(sNewPath).ToUpper().CompareTo(RscStore.ExtensionOfPath(it.Path).ToUpper()) != 0) { if (MessageBoxResult.OK != MessageBox.Show("Do you really want to change type from " + RscStore.ExtensionOfPath(it.Path) + " to " + RscStore.ExtensionOfPath(sNewPath) + "?\r\n\r\n(press Back to cancel)")) { return; } } try { store.MoveFile(it.Path, sNewPath); } catch (Exception exc) { MessageBox.Show("Rename failed!\r\n\r\n" + exc.Message); return; } if (txFilter.Text == it.strFileName) { txFilter.Text = sNewName; } it.strFileName = sNewName; //ReQuery... lbFiles.ItemsSource = null; lbFiles.ItemsSource = m_files; } } } else { //NOP... } break; } } } m_AppArgs.Clear(); } }