C# 如何更改ListView中部分文本的颜色?
我有这样的列表视图C# 如何更改ListView中部分文本的颜色?,c#,wpf,C#,Wpf,我有这样的列表视图 ... <ListView x:Name="LVLog" ToolTip="Log of task(s) execution" Background="WhiteSmoke" HorizontalAlignment="Stretch" ScrollViewer.HorizontalScro
...
<ListView
x:Name="LVLog"
ToolTip="Log of task(s) execution"
Background="WhiteSmoke"
HorizontalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
VerticalAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" TextWrapping="Wrap"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
...
还有我试图绑定的对象的ToString()
方法
public override string ToString() => string.Format("You are <span style='color:red'>{0}</span> km. in city <span style='color:red'>{1}</span> km.", 100, 136);
public-override-string-ToString()=>string.Format(“您在{1}公里的城市里,{0}公里。”,100136);
所以,我希望得到100和136的红色,但实际上我得到了这个
我做错了什么?为什么它没有按预期格式化文本?
<TextBlock TextWrapping="Wrap">
<TextBlock Text="You are "/>
<TextBlock Text="100" Foreground="Red"/>
<TextBlock Text=" km. in city "/>
<TextBlock Text="136" Foreground="Red"/>
<TextBlock Text=" km."/>
</TextBlock>
html不在TextBlock中解释,ListView不支持此功能。@MatthewWatson所以,在ListView中无法获取彩色文本,对吗?不允许这样做,xaml不支持css标记。您可以将
TextBlock
拆分为Run
元素,并将每个项目的背景色分别设置为:不-不进行所有者绘制(这需要大量工作)。您只能更改前景和背景文本的颜色。您可以向上查看,这可能有助于您为整行添加颜色。
<TextBlock TextWrapping="Wrap">
<TextBlock Text="You are "/>
<TextBlock Text="100" Foreground="Red"/>
<TextBlock Text=" km. in city "/>
<TextBlock Text="136" Foreground="Red"/>
<TextBlock Text=" km."/>
</TextBlock>