2014-10-06 45 views
0

我有2個wpf應用程序。 我需要將其作爲參數發送給其中一個參數,並在該參數中更改參數,並在另一個wpf應用程序中使用變量的新值。在wpf應用程序之間發送參數

我的代碼:

1 WPF:

Forms.CreatRadar creatRadarWPF = new Forms.CreatRadar(azimuthStart,AzimuthEnd,Long,Lat,numOfRadars,listRadars); 
      creatRadarWPF.Show(); 

2 WPF:

public partial class CreatRadar : Window 
{ 
    private double AzimuthStart; 
    private double AzimuthEnd; 
    private double Long; 
    private double Lat; 
    private int numOfRadars; 
    private List<Radar> ListRadars; 

    public CreatRadar(double AzimuthStart, double AzimuthEnd, double Long, double Lat, int numOfRadars, List<MapSample.Radar> ListRadars) 
    { 
     InitializeComponent(); 
    } 

    private void CreatRadarBtn_Click(object sender, RoutedEventArgs e) 
    { 
     this.AzimuthStart = double.Parse(txt_AzimuthStart.Text.ToString()); 
     this.AzimuthEnd = double.Parse(txt_AzimuthEnd.Text.ToString()); 
     this.Long = double.Parse(txt_Long.Text.ToString()); 
     this.Lat = double.Parse(txt_Lat.Text.ToString()); 
     this.ListRadars = ListRadars; 
     this.numOfRadars = numOfRadars; 

     this.numOfRadars++; 
     Radar RadarTemp = new Radar(numOfRadars, this.AzimuthStart, this.AzimuthEnd, this.Long, this.Lat, 1, 1); 
     this.ListRadars.Add(RadarTemp); 

     MapDrawManager.Instance.Draw(RadarTemp); 
    } 
} 

錯誤: 可訪問性不一致:參數類型 'System.Collections.Generic.List' 是比方法'MapSample.Forms.CreatRadar(double,double,double,double,int,System.Collections.Generic.List)'更方便'

+0

貌似問題是與listRadars參數,留下空白,看看會發生什麼? – boomoto 2014-10-06 17:43:25

回答

1

您的班級MapSample.Radar似乎不公開。這是必要的,因爲它在公共函數CreatRadar中使用。

+0

雷達類是公開的.. – 2014-10-06 17:51:44

+0

你確定你需要參數在函數CreatRadar中嗎?他們沒有使用。還是你剪代碼? – Fratyx 2014-10-06 17:55:33

+0

...什麼是MapSample?名稱空間或(公共:-))父類? – Fratyx 2014-10-06 17:58:03

0

MapSample.Radar類是公共類還是內部類?如果是這樣,請考慮更改此類的內部修飾符,並確保它顯示「public class MapSample.Radar」。如果您可以從其他WPF應用程序使用它們,則必須根據需要將其他類型更改爲公開。或者,您還可以通過在AssemblyInfo文件中設置InternalsVisibleTo屬性,將程序集更改爲其他WPF應用程序的朋友程序集。

更多關於朋友程序集的信息在這裏以及如何強名稱程序集(請注意,在Visual Studio中也可以設置程序集的簽名,使得sn命令不必從命令行運行) : How to declare a friend assembly?

+0

雷達類是公開的: 公共類雷達:MapObject { – 2014-10-06 17:50:00

相關問題