诉求:因情况特殊,需要在后台动态创建 Image 控件,此 Image 控件 要求实现拖拽,惯性,并遇到边界时有反弹效果.
注:这里是我在xaml中写的控件与属性,但是现在我需要在后台生成控件的时候,把下面的属性添加到Image控件中, 需要生成的控件效果在xaml 中 的描述:
<Canvas x:Name="canvas" Background="Gray" MouseMove="canvas_MouseMove" Height="500" Width="1000">
<Image x:Name="rect" Source="psb.jpg"
MouseLeftButtonDown="rect_MouseLeftButtonDown"
MouseLeftButtonUp="rect_MouseLeftButtonUp">
<Image.RenderTransform>
<TransformGroup x:Name="RectangleTransform">
<TranslateTransform/>
</TransformGroup>
</Image.RenderTransform>
</Image>
</Canvas>
生成控件的C# 代码如下:
ImageSource ISource = new BitmapImage(new Uri(img.ToolTip.ToString(), UriKind.Relative));
Image im = new Image();
im.IsManipulationEnabled = true;
MatrixTransform tf = new MatrixTransform();
im.RenderTransform = tf;
......
然后再附加到我的容器中.
其他的功能我都已经实现了,只需要把属性在后台添加上去就ok。以上的代码是把RenderTransform 给加入到 Image 下面了.
现在不清楚的是,如何在添加了 RenderTransform 之后,再到它的下面添加 TransformGroup 呢? 并且赋 Name 属性,
在TransformGropp 下面还有 标签 <TranslateTransform/>
就是要求能达到xaml 文件中的效果一样。
初学 WPF 不久,盼获得帮助,不胜感激~