我想要一个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秒后它恢复正常。如果有一个简单的方法,请告诉我。
答案 0 :(得分:0)
尝试使用Bold属性:
dataGridCell.FontWeight = FontWeight.Bold;