首先,我是WPF的新手。我有一些字符串值已包含格式化文本,例如:WPF TextBox不能正确显示空格
Person Name = Jack Age = 40 #male
Person Name = Bill Age = 18 #male
Person Name = Liza Age = 19 #female
Person Name = Kate Age = 38 #female
当我将它写入文件一切都很好。但是,当我试图通过这个字符串textBox中我看到这样的事情:
Person Name = Jack Age = 40 #male
Person Name = Bill Age = 18 #male
Person Name = Liza Age = 19 #female
Person Name = Kate Age = 38 #female
它没有任何意义,我,为什么我失去了我的空间。我应该使用RichTextBox吗?我尝试过,但实际上文字以相同的方式显示
这是我的代码。我很抱歉我的低技能编码水平
public override string TransformCollectionToSourceType(IList<ElementPin> elementPins)
{
var stringBuilder = new StringBuilder();
var maxSignalNameLength = elementPins.MaxStringLength(pin => pin.SignalName.Length);
var maxPinNameLength = elementPins.HasEmptyValue(pin => pin.PinName)
? EmpyPinName.Length
: elementPins.MaxStringLength(pin => pin.PinName.Length);
var maxIoStandartLength = elementPins.MaxStringLength(pin => pin.IoStandardValue.Length)
> EmptyIoStandard.Length
? elementPins.MaxStringLength(pin => pin.IoStandardValue.Length) + 1
: EmptyIoStandard.Length + 1;
foreach (var elemPin in elementPins)
{
var signalName = elemPin.ElementCommented
? string.IsNullOrWhiteSpace(elemPin.SignalName)
? EmptySignalName.PadRight(maxSignalNameLength)
: elemPin.SignalName.PadRight(maxSignalNameLength)
: string.IsNullOrWhiteSpace(elemPin.SignalName)
? WhiteSpace + EmptySignalName.PadRight(maxSignalNameLength)
: WhiteSpace + elemPin.SignalName.PadRight(maxSignalNameLength);
var pinName = string.IsNullOrWhiteSpace(elemPin.PinName)
? EmpyPinName.PadRight(maxPinNameLength)
: elemPin.PinName.PadRight(maxPinNameLength);
var ioStandardValue = string.IsNullOrWhiteSpace(elemPin.IoStandardValue)
? (EmptyIoStandard + ";").PadRight(maxIoStandartLength)
: (elemPin.IoStandardValue + ";").PadRight(maxIoStandartLength);
stringBuilder.AppendFormat(
"{0}NET {1} LOC = {2} | IOSTANDARD = {3} # {4}",
elemPin.ElementCommented ? "#" : string.Empty,
signalName,
pinName,
ioStandardValue,
string.IsNullOrWhiteSpace(elemPin.Comment) ? EmptyComment : elemPin.Comment);
stringBuilder.AppendLine();
}
return stringBuilder.ToString().RemoveLastNewlineSymbol();
}
只需使用一个固定宽度字体解决问题。并确保一个文本框真的是你需要的(而不是一张表)。 –