ViewModel에 내 로그를 작성하여 로그를 사용자에게 공개 할 수 있습니다.ILoggerFacade를 ViewModel로 리디렉션하는 방법은 무엇입니까?
은 우선은 뷰 모델
<TextBox Grid.Row="1" TextWrapping="Wrap" Text="{Binding Logger}" AcceptsReturn="True" IsReadOnly="True"
ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"/>
이
private string logger;
public string Logger
{
get { return logger; }
set
{
logger = value;
this.RaisePropertyChanged("Logger");
}
}
그런 다음, 나는 ILoggerFacade를 구현하는 고객 로거 클래스를 작성하는 뷰 모델이다에보기를 결합하고, 부트 스트 래퍼의 CreateLogger 방법을 재정의합니다. 고객 Logger 클래스
public class MainLogger : ILoggerFacade
{
public void Log(string message, Category category, Priority priority)
{
string messageToLog = String.Format(System.Globalization.CultureInfo.InvariantCulture, "{1}: {2}. Priority: {3}. Timestamp:{0:u}.", DateTime.Now, category.ToString().ToUpper(System.Globalization.CultureInfo.InvariantCulture), message, priority.ToString());
//////??????//////
}
}
그리고 무엇을 작성해야에서
protected override ILoggerFacade CreateLogger()
{
return new MainLogger();
}
부트 스트 래퍼
에서???????. ViewModel에 데이터를 게시하고 ViewModel을 직접 가져 오기 위해 Import IEventAggregator를 시도했습니다. 컨테이너가 등록되기 전에 CreatorLogger Method가 호출되기 때문에 작동하지 않습니다. 그렇다면 어떻게하면 ViewModel에 로그를 기록 할 수 있습니까?
쉘에서 텍스트 상자를 직접 표시 하시겠습니까, 아니면 PRISM에서 지역에 등록한보기 안에 표시 하시겠습니까? – Marc
@ 마르크 안쪽 지역. –