因此,我创建了一个 TextBlock,我想将所有消息记录到其中,但目前我被困在一次只发布 1 条消息并覆盖前一条消息的地方。我当前的代码:
XAML:
<TextBlock Name="LogTextBlock" Foreground="Silver"
Height="480" Width="588" Margin="10,10,0,0"
HorizontalAlignment="Left" VerticalAlignment="Top">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}">
<Binding Path="LogText" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
代码:
public class StatusLogger : INotifyPropertyChanged
{
private static string _logText;
public string LogText
{
get { return _logText; }
set
{
if (_logText == value) return;
_logText = value;
OnPropertyChanged("LogText");
}
}
public static void WriteLine(string text, params object[] args)
{
_logText = String.Format(text, args);
}
#region Property Change Handler
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
我如何使用 StatusLogger 在我的代码中静态使用它,例如
StatusLogger.WriteLine("{0}: Testing the first message!{1}", DateTime.Now, Environment.NewLine);
StatusLogger.WriteLine("{0}: Testing the second message!{1}", DateTime.Now, Environment.NewLine);
基本上,它一次显示一行,但我希望它显示我添加到其中的每一行的历史记录。我已经尝试了几种不同的方式,但我目前发布了我目前拥有的内容。