从另一个视图模型的变量中获取值

本文关键字:获取 变量 另一个 视图 模型 | 更新日期: 2023-09-27 18:00:57

在ViewModel A中,我有一个字符串变量_projectName

ViewModel A:

private string _projectName;
private void ProjectName(string ProjectName)
{
    _projectName = ProjectName;
}

稍后调用ViewModel B时,我希望使用此实例的值,并将其设置为DB连接的数据源

ViewModel B

String dbConnectionString = @"Data Source =" + _projectName + "" + ".sqlite";

从另一个视图模型的变量中获取值

将其作为属性:

Public string ProjectName
{
   get;
   private set;
}
private void ProjectName(string projectName)
{
    this.ProjectName = projectName;
}

通过这种方式,您可以从同一个类设置此属性,但您可以在任何位置访问它。

最好的方法是将project name保存在static property中,可能是因为这些信息将在应用程序的各个部分中使用,所以您不需要依赖instance来获取它。您可以有一个名为GeneralInformationstatic class,其中包含project的所有一般信息。示例如下:

public static class GeneralInformation
{
     public static String ProjectName {get;set;}
     //others general property's
}

不要使用instance来设置project name的值,而是执行以下操作:

GeneralInformation.ProjectName = "nameyourprojectname";

要使用ViewModel Bproject name的存储值,请执行以下操作:

String dbConnectionString = String.Format("Data Source ={0}.sqlite", GeneralInformation.ProjectName);