我已为Description
分配了一段文字。此“描述”是从文本文件中提取的,具体取决于项目的id
。
private string _description = string.Empty;
public string Description
{
get { return this._description; }
set { this.SetProperty(ref this._description, value); }
}
这样可以正常工作并返回描述。但它作为一个大块/文本墙返回。
我尝试了以下操作,但效果不佳,它只格式化已定义的文本而对我没有帮助,因为Description
是动态的。
String ITEM_CONTENT = String.Format(
"Item Content: {0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}",
"proin lobortis sollicitudin augue elit mus congue fermentum parturient fringilla euismod feugiat.");
我将描述符合我的XAML页面上的TextBlock
<TextBlock x:Name="decription" Text="{Binding Description}"
FontSize="30" TextWrapping="Wrap" Width="Auto"
MaxWidth="1400" LineHeight="35" Padding="20"/>
如何格式化此Description
以使其更整洁,每5个句子以一个句点结束后换行或换行?
编辑:
试过这个,但仍然无效
private string _description = string.Empty;
public string Description
{
get { return this._description; }
set
{
var description = string.Empty;
var substrings = "".Split( '.' );
for ( int i = 0; i < substrings.Length; i++ )
{
description += substrings[i];
if ( i%5 == 0 )
{
description += Environment.NewLine;
}
}
this.SetProperty(ref this._description, description);
}
}
答案 0 :(得分:1)
您可以解析文本,并在每5个句点后插入换行符,然后重建字符串。
private string _description = string.Empty;
public string Description
{
get
{
return _description;
}
set
{
var description = string.Empty;
var substrings = value.Split( new[] { '.', '?', '!' }, StringSplitOptions.RemoveEmptyEntries );
for ( var i = 0; i < substrings.Length; i++ )
{
description += substrings[i] + ".";
if ( i % 5 == 0 && i != 0 )
{
description += Environment.NewLine + Environment.NewLine;
}
}
_description = description;
}
}
答案 1 :(得分:0)
看看这个msdn page。
它应该清理一下并给你一些额外的选择。
此外,根据您的输入,您应该"\r\n"
,或者更好:
String ITEM_CONTENT = String.Format("Item Content: {0}{1}{0}{1}{0}{1}{0}{1}",
"proin lobortis sollicitudin augue elit mus congue
fermentum parturient,fringilla euismod feugiat.",
Environment.NewLine);
修改强>
试试这个:
public string Description
{
get { return _description; }
set
{
_description = string.Empty;
var substrings = value.Split( '.' );
for ( int i = 0; i < substrings.Length; i++ )
{
_description += substrings[i];
if ( i%5 == 0 )
{
_description += Environment.NewLine;
}
}
}
}
private string _description = string.Empty;
不确定为什么要尝试设置参考并完成所有操作。只需编辑您的私有字符串(_description
),就可以了。