这是我的主窗口。xaml**
<Window x:Class="Helloone.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Helloone"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<DataGrid x:Name="DG1" Margin="0,100,0,0" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="text1" Binding="{Binding Onedata}" Width="150"/>
<DataGridTextColumn Header="text2" Binding="{Binding Twodata}" Width="150"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
这是我的主窗口。xaml.cs
namespace Helloone
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<MyCell> listaaa = new List<MyCell>();
listaaa.Add(new MyCell() { Onedata="abc", Twodata ="def"});
listaaa.Add(new MyCell() { Onedata="ghj", Twodata ="yougood"});
DG1.ItemsSource= listaaa;
}
}
public class MyCell
{
public string? Onedata { get; set; }
public string? Twodata { get; set; }
}
}
运行后如下enter image description here
我想改变其中一个单元格中的一些字符串的颜色,并使它们变粗。比如第二行第二列的字符串“yougood”中的“good”设置为红色加粗,而“you”的颜色保持不变,运行后的效果如下图
由于我的母语不是英语,我很难搜索,好心人请帮助我
2条答案
按热度按时间1szpjjfi1#
使用
TextBlock
设置文本的内联格式。看看这个:Formatting text in a TextBlock。代码隐藏:
XAML:
yb3bgrhw2#
首先你需要知道红色和粗体部分在字符串中的位置。之后,您可以使用TextBlock和DataTempalte来显示字符串的各个部分。字符串被分成三部分。红色的部分,红色之前和之后的部分。
我将属性添加到MyCell,但您也可以在其他地方处理它。
以下是更新的网格