通过以下几个例子来说明,第一个参数是控件类型:
private void changeSourceOfImage(Image img, string x) //改变Img控件中的图片,通用性函数
{
this.Dispatcher.Invoke(new Action(delegate
{
img.Source = new BitmapImage(new Uri(x, UriKind.Absolute));
}));
}
private void changeContentOfLabel(Label label, string x) //改变Label控件中的文字,通用性函数
{
this.Dispatcher.Invoke(new Action(delegate
{
label.Content = x;
}));
}
private void RotateRight(Image img, double degree) //对Image控件顺时针旋转x度
{
this.Dispatcher.Invoke(new Action(delegate
{
TransformGroup tg = img.RenderTransform as TransformGroup;
var tgnew = tg.CloneCurrentValue();
if (tgnew != null)
{
RotateTransform rt = tgnew.Children[2] as RotateTransform;
img.RenderTransformOrigin = new Point(0.5, 0.5);
rt.Angle += degree;
}
// 重新给图像赋值Transform变换属性
img.RenderTransform = tgnew;
}));
}