用于DataGridCell FontWeight的C#WPF AnimationClock

时间:2018-01-15 09:47:18

标签: c# wpf datagrid datagridcell

我想要一个AnimationClock来更改datagridcell fontweight。

我已经在颜色上做了,它运作良好,请参阅下面的代码。

ColorAnimation ca = new ColorAnimation(Colors.Black, Colors.Yellow, new Duration(TimeSpan.FromSeconds(3)));
ca.AutoReverse = true;

dataGridCell.Foreground = new SolidColorBrush(Colors.Black);                
dataGridCell.Foreground.BeginAnimation(SolidColorBrush.ColorProperty, ca);

但是对于fontWeight,他们没有提供dataGridCell.FontWeight.BeginAnimation方法。

所以我必须做一个ApplyAnimationClock。 我这样做但却失败了。

DoubleAnimation da = new DoubleAnimation(400.0, 600.0, new 
    Duration(TimeSpan.FromSeconds(3)));
da.AutoReverse = true;
AnimationClock ac = da.CreateClock();
dataGridCell.FontWeight = FontWeight.FromOpenTypeWeight(400);                
dataGridCell.ApplyAnimationClock(DataGridCell.FontWeightProperty, ac);

我想将字体重量从400更改为600.但它在下面给我这个例外。

附加信息:类型为&System.SWindows.Media.Animation.DoubleAnimation'的AnimationTimeline。不能用于制作“FontWeight”的动画。属性类型为System.Windows.FontWeight'。

我的问题很简单,我想更改datagridcell的字体,然后在3秒后它恢复正常。如果有一个简单的方法,请告诉我。

1 个答案:

答案 0 :(得分:0)

尝试使用Bold属性:

dataGridCell.FontWeight = FontWeight.Bold;