我有一个WPF应用程序,我需要在启动时显示“登录”窗口,然后使用从用户传递的凭据连接到WCF服务。
问题是 - 实际的'client.Open()'在哪里发生?
在ViewModel中还是在Model?
中我认为它应该发生在一个单独的类中,但应该由ViewModel或Model调用。
是哪一个?
答案 0 :(得分:1)
嗨,是的,我完全误解了你的问题,对不起。它就像当用户点击UI上的Login按钮时,对应于那个Button的Command并且调用Login的ViewModel方法进一步调用该方法进一步调用Clientside Service类(Model)方法,该方法进一步调用ServerSide Service类方法,进一步调用BLL方法哪个进一步调用登录的Repository方法。链就像View => VM => ClientSideService => ServerSideService => BLL =>存储库。但是,如果您希望或可以直接从ViewModel调用ServerSide服务,您可以跳过ClientSide服务。“但应该由ViewModel或模型调用?”是他们被称为模型。我希望这将有所帮助
答案 1 :(得分:0)
嗨,如果我没有错误地解释你的问题,你可以这样做
public partial class App : Application
{
void App_Startup(object sender, StartupEventArgs e)
{
// Application is running
// Process command line args
bool startMinimized = false;
for (int i = 0; i != e.Args.Length; ++i)
{
if (e.Args[i] == "/StartMinimized")
{
startMinimized = true;
}
}
// Create main application window, starting minimized if specified
MainWindow mainWindow = new MainWindow();
if (startMinimized)
{
mainWindow.WindowState = WindowState.Minimized;
}
mainWindow.Show();
}
}
并在xaml中绑定应用程序的StartUp事件
<Application
的xmlns = “http://schemas.microsoft.com/winfx/2006/xaml/presentation” 的xmlns:X = “http://schemas.microsoft.com/winfx/2006/xaml” X:类= “SDKSample.App” Startup =“App_Startup”/&gt;
这一切都发生在App类中。调用First Main方法然后创建App类的实例,然后调用Run方法关闭App,并且此Run方法触发Application_Startup事件,我希望这会有所帮助。