나는 지난 2 주에서이 WPF로입니다. 현재 MVVM 패턴을 기반으로 wpf 응용 프로그램을 개발 중입니다. Visual C# 2010에서 내 솔루션 안에 2 개의 프로젝트가 있습니다. 하나는 WPF 응용 프로그램 (MSPBoardControl을 말하게 함)이고 다른 하나는 클래스 라이브러리입니다 (ConnectViewComponent라고 말하면됩니다). 따라서 MSPBoardControl과 ConnectViewComponent는 각각 view, viewmodel, model 클래스를 갖습니다.에 액세스하는 방법을 WPF 응용 프로그램 및 ClassLibrary의 회원들과 그 반대의 경우도 마찬가지
내 MSPBoardControl에 ConnectViewComponent 참조를 추가했으며 내 MSPBoardControl의 View, Viewmodel 및 모델 클래스에서 ConnectViewComponent의 멤버 변수에 액세스 할 수 있습니다. 내 관심사는 내 ConnectViewComponent에서 MSPBoardControl의 멤버 변수에 액세스하는 방법입니다. MSPBoardControl의
뷰 모델 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using ConnectViewComponent.Model;
using System.Windows.Input;
using ConnectViewComponent.Commands;
[[[using MSPBoardControl.ViewModel;]]]
namespace ConnectViewComponent.ViewModel
{
public class ConnectViewModel : INotifyPropertyChanged
{
public List<ConnectModel> m_BoardNames;
[[[BoardControlViewModel mBoardVM;]]]
public ConnectViewModel()
{
m_BoardNames = new List<ConnectModel>()
{
new ConnectModel() {Name = "Bavaria", Connection_Status = "Disconnected"},
new ConnectModel() {Name = "Redhook", Connection_Status = "Disconnected"},
};
}
public List<ConnectModel> BoardNames
{
//get set
}
private ConnectModel m_SelectedBoardItem;
public ConnectModel SelectedBoard
{
//get set
}
private ICommand mUpdater;
public ICommand ConnectCommand
{
get
{
if (mUpdater == null)
mUpdater = new DelegateCommand(new Action(SaveExecuted), new Func<bool>(SaveCanExecute));
return mUpdater;
}
set
{
mUpdater = value;
}
}
public bool SaveCanExecute()
{
return true;
}
public void SaveExecuted()
{
if (SelectedBoard.Connection_Status == "Disconnected" && SelectedBoard.Name == "Bavaria")
{
SelectedBoard.Connection_Status = "Connected";
}
else if (SelectedBoard.Connection_Status == "Disconnected" && SelectedBoard.Name == "Redhook")
{
SelectedBoard.Connection_Status = "Connected";
}
}
}
}
[[[-]]] 내 코드는 내가 너무 Namespace.ViewModel을 사용뿐만 아니라 BoardControlViewModel의 멤버에 액세스 할 수 없습니다입니다 의미에서. 이 순환 종속성으로 이어질 것이기 때문에
내 ConnectComponent 프로젝트에 BoardControl의 참조를 추가 할 수 없습니다. 어떻게 접근 할 수 있습니까? 도와주세요!!
설명해 주셔서 감사합니다. 커플 링을 보면, 나는 shud가 하나의 프로젝트에 A & B를 병합한다고 생각합니다 :) –