如何在DataGrid (C#)中更改超链接链接(字体)的颜色?
现在,我的超级链接列如下所示:(XAML)
<DataGridHyperlinkColumn Width="300" Binding="{Binding link}" ContentBinding="{Binding link}"
Header="Link" HeaderStringFormat="Link">
<DataGridHyperlinkColumn.ElementStyle>
<Style>
<EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
发布于 2014-12-25 16:28:52
尝尝这个
xaml
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridHyperlinkColumn Header="Email" Binding="{Binding Email}">
<DataGridHyperlinkColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Background" Value="Transparent"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
<Style.Resources>
<Style TargetType="Hyperlink">
<Setter Property="Foreground" Value="Chocolate"></Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="Hyperlink.Click">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Foreground.Color" From="Chocolate" To="BlueViolet" Duration="0:0:0.1"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Style.Resources>
</Style>
</DataGridHyperlinkColumn.CellStyle>
</DataGridHyperlinkColumn>
</DataGrid.Columns>
</DataGrid>
c#代码
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
ObservableCollection<Customer> custdata = new ObservableCollection<Customer>();
custdata.Add(new Customer() { Email = new Uri("http://stackoverflow.com/") });
DG1.ItemsSource = custdata;
}
}
public class Customer
{
public Uri Email { get; set; }
}
结果
https://stackoverflow.com/questions/27648226
复制相似问题