Jer*_*emy 9 silverlight actualwidth actualheight
我在silverlight控件上有一个网格,我以编程方式添加了一个画布,在画布中我正在加载并显示Image.
我还在画布上添加一个旋转.问题是默认情况下,旋转的CenterX和CenterY是画布的左上角.我想要的是围绕画布中心的旋转.
为此,我尝试将旋转的CenterX和CenterY设置为Images ActualWidth
/ 2和ActualHeight
/ 2,但是我发现ActualWidth
并且ActualHeight
并不总是填充,至少不会立即填充.我如何强迫他们更新?
即使在图像上使用DownloadProgress事件似乎也不能保证填充ActualWidth和ActualHeight,也没有使用this.Dispatcher.BeginInvoke()...
Image imgTest = new Image();
Canvas cnvTest = new Canvas();
Uri uriImage = new Uri("myurl", UriKind.RelativeOrAbsolute);
System.Windows.Media.Imaging.BitmapImage bmpDisplay = new System.Windows.Media.Imaging.BitmapImage(uriImage);
bmpDisplay.DownloadProgress += new EventHandler<System.Windows.Media.Imaging.DownloadProgressEventArgs>(this.GetActualDimensionsAfterDownload);
imgTest.Source = bmpDisplay;
imgTest.Stretch = Stretch.Uniform;
imgTest.HorizontalAlignment = HorizontalAlignment.Center;
imgTest.VerticalAlignment = VerticalAlignment.Center;
cnvTest.Children.Add(imgTest);
this.grdLayout.Children.Add(imgTest);
this.Dispatcher.BeginInvoke(new Action(GetActualDimensions));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7643 次 |
最近记录: |