0
VM의 속성을 모든 종류의 싱글 톤 속성 (정적 리소스 속성, 싱글 톤 서비스의 속성 ...)에 바인딩 할 수있는 방법이 있습니까? 예를 들어 IMessenger 또는 SingletonServiceResolved OnPropertyChanged를 처리할까요?싱글 톤 속성에 바인딩
싱글 톤 시계 속성의 변경 사항을 처리하는 데 각 활동을 적용하는 것이 저에게 다소 불편합니다 (기본 클래스에 있더라도). 싱글이 일정 아니라고 코멘트 후
public Thing MySingleton
{
get
{
return Thing.Instance;
}
}
업데이트 : 싱글에 결합하는
public class ClockService : ObservableObject, IClockService {
private DateTime _clock;
public DateTime Clock {
get{ return _clock;}
set { _clock = value; RaisePropertyChanged("Clock"); }
}
}
public class SomeViewModel : BaseViewModel {
private IClockService _clockService;
private IMvxMessenger _messenger;
public SomeViewModel(IClockService clockService, IMvxMessenger messenger) {
_clockService=clockService;
_messenger = messenger;
//trying to avoid
clockService.PropertyChanged += OnClockServicePropertyChanged;
}
public DateTime MyClock {
get{return _clockService.Clock;}
}
private OnClockServicePropertyChanged(...) {
if(e.PropertyName=="Clock") RaisePropertyChanged("Clock");
}
}
문제와 같은 표현에 바인딩 할 수 있습니다 그래서 않을 것 새롭게 하다. 나는 당신이 EventSubscription (또는 messageSubscription)을 다루는 것을 피할 수있는 후드 아래에 어떤 방법을 묻는다. – ozapa
당신의 코멘트 후에 편집되었지만, 정말로 혼동을 야기 할 수 있으므로 여기에 '싱글 톤'용어를 사용하는 것에주의해야한다. 다른 것들 -'싱글 톤'은 "오직 하나의 인스턴스가 만들어졌다"는 것을 의미하는 것으로 상당히 널리 알려져있다. http://en.wikipedia.org/wiki/Singleton_pattern을 참조하십시오. 일반적으로 "현재"인스턴스가 있음을 나타내는 것으로 이해하지 못합니다 (경험상). – Stuart
IClockService (이 예제의 경우)는 CreatableTypes(). EndingWith ("Service")에 의해 싱글 톤과 같이 해결되는 초기화 동안입니다. AsInterfaces(). RegisterAsSingleton(); 그래서 ClockService 인스턴스는 하나 뿐이며 Clock 속성입니다. 내가 놓친 게 있니? – ozapa