Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TextBlock Windows Phone 8.1中的文本格式_C#_Windows Phone 8_Windows Store Apps_Windows Phone 8.1 - Fatal编程技术网

C# TextBlock Windows Phone 8.1中的文本格式

C# TextBlock Windows Phone 8.1中的文本格式,c#,windows-phone-8,windows-store-apps,windows-phone-8.1,C#,Windows Phone 8,Windows Store Apps,Windows Phone 8.1,我的ViewModel中有一个字符串列表,格式如下: This is an <b>example.<b> 这是一个例子。 我希望在视图中有某种文本控件,可以通过数据绑定显示格式化文本,如下所示: 这是一个示例。 我找不到任何可以这样运行的内置控件 有人知道如何处理吗?您可以使用: 这是一个 为此,您必须解析字符串,选择粗体部分,并在代码隐藏中定义内容。一个非常简单的示例如下所示: string-example=@“这是一个示例。”; var str=exampl

我的
ViewModel
中有一个字符串列表,格式如下:

 This is an <b>example.<b>
这是一个例子。
我希望在视图中有某种文本控件,可以通过
数据绑定显示格式化文本,如下所示:

这是一个示例。

我找不到任何可以这样运行的内置控件

有人知道如何处理吗?

您可以使用:


这是一个
为此,您必须解析字符串,选择粗体部分,并在代码隐藏中定义内容。一个非常简单的示例如下所示:

string-example=@“这是一个示例。”;
var str=example.Split(新字符串[]{“”“”},StringSplitOptions.None);
对于(int i=0;i

编辑-与绑定一起使用

如果您想使用上面的绑定过程,那么它就不是那么简单了-TextBlock.Inlines不是dependencProperty,所以我们不能使用它。尽管如此,还是有一种方法可以做到这一点——您需要以某种方式扩展TextBlock——这是另一个陷阱——它是密封的类,所以没有继承。在这种情况下,我们必须使用另一个类():

公共静态类TextBlockExtension
{
公共静态字符串GetFormattedText(DependencyObject obj)
{return(string)obj.GetValue(FormattedTextProperty);}
公共静态void SetFormattedText(DependencyObject对象,字符串值)
{obj.SetValue(FormattedTextProperty,value);}
公共静态只读DependencyProperty FormattedTextProperty=
DependencyProperty.Register(“FormattedText”、typeof(string)、typeof(TextBlockExtension),
新属性元数据(string.Empty,(发件人,e)=>
{
string text=e.NewValue作为字符串;
var textBl=发送方作为文本块;
如果(textBl!=null)
{
textBl.Inlines.Clear();
var str=text.Split(新字符串[]{“”“”},StringSplitOptions.None);
对于(int i=0;i
然后您可以在xaml中使用它,如下所示:


您可以使用:


这是一个
为此,您必须解析字符串,选择粗体部分,并在代码隐藏中定义内容。一个非常简单的示例如下所示:

string-example=@“这是一个示例。”;
var str=example.Split(新字符串[]{“”“”},StringSplitOptions.None);
对于(int i=0;i

编辑-与绑定一起使用

如果您想使用上面的绑定过程,那么它就不是那么简单了-TextBlock.Inlines不是dependencProperty,所以我们不能使用它。尽管如此,还是有一种方法可以做到这一点——您需要以某种方式扩展TextBlock——这是另一个陷阱——它是密封的类,所以没有继承。在这种情况下,我们必须使用另一个类():

公共静态类TextBlockExtension
{
公共静态字符串GetFormattedText(DependencyObject obj)
{return(string)obj.GetValue(FormattedTextProperty);}
公共静态void SetFormattedText(DependencyObject对象,字符串值)
{obj.SetValue(FormattedTextProperty,value);}
公共静态只读DependencyProperty FormattedTextProperty=
DependencyProperty.Register(“FormattedText”、typeof(string)、typeof(TextBlockExtension),
新属性元数据(string.Empty,(发件人,e)=>
{
string text=e.NewValue作为字符串;
var textBl=发送方作为文本块;
如果(textBl!=null)
{
textBl.Inlines.Clear();
var str=text.Split(新字符串[]{“”“”},StringSplitOptions.None);
对于(int i=0;i
然后您可以在xaml中使用它,如下所示:


您可以使用RichTextBlock控件。比如:

<RichTextBlock>
 <Paragraph>
    This is an <Bold>example</Bold>
 </Paragraph>
</RichTextBlock>

这是一个例子

您可以使用RichTextBlock控件。比如:

<RichTextBlock>
 <Paragraph>
    This is an <Bold>example</Bold>
 </Paragraph>
</RichTextBlock>

这是一个例子

我不会删除空条目。这将打破“这不应该都是大胆的”@僵尸羊你是对的。尽管如此,它仍然是一个非常基本的例子,需要更多的改进(这也取决于OP的实现)。这应该对OP有帮助,剩下的我留给他。我不会删除空条目。这将打破“这不应该都是大胆的”@僵尸羊你是对的。尽管如此,它仍然是一个非常基本的例子,需要更多的改进(这也取决于OP的实现)。这应该对OP有帮助,剩下的我就留给他了。看这个链接,它对我非常有效:看这个链接,它对我非常有效: