Хорошо, пришло время для моего первого проекта WPF :).Я раньше работал с Flex и PureMVC и знаю, как важна настройка проекта в RIA.Я решил работать с MVVM.И решил поработать с PRISM framework.Приложение похоже на операционную систему.Там будет «оболочка» (родитель для небольших приложений).Меньшее приложение я планирую сделать как модули.Поэтому я планирую спроектировать структуру проекта примерно так:
Module_A {view, viewModel, model, assets} // например калькулятор Module_B {view, viewModel, model, assets} // notebook
и т. Д. Я читаю Prism Doc и вижу, что parrent для всех этих модулей должен быть проектом оболочки, и это мой главный вопрос здесь.Bootstrapper.cs, Shell.xaml}
Поскольку эта оболочка будет полноэкранной с фоновыми изображениями (например, операционной системой), щелкните правой кнопкой мыши с некоторыми функциями.Это нормально для создания структуры папок, как в модулях XYZ для Shell.xaml здесь?Я хочу начать проект с хорошей структурой, поэтому любые советы приветствуются.Спасибо
Может быть, мне было непонятно.Могу ли я использовать Shell для добавления некоторой функциональности (в манере MVVM), например, установить ее в полноэкранный режим, всегда сверху и т. Д. Или нет?
Я хочу, чтобы оболочка находилась в режиме полного киоска.И я сделал кое-что об этом с помощью следующего кода.Но когда я нажимаю alt + tab, клавиша win или другая панель задач переходит в мое приложение.Есть ли решение для этого:
public class Interop
{
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
public static IntPtr GetWindowHandle(Window window)
{
return new WindowInteropHelper(window).Handle;
}
}
public Shell()
{
InitializeComponent();
IntPtr window = Interop.GetWindowHandle(this);
IntPtr focused = Interop.GetForegroundWindow();
if (window != focused)
{
Interop.SetForegroundWindow(window);
}
}