在我的应用程序中,我得到一个ScrollViewer
,其中包含一个ListBox
,可使用Borders
显示Canvas
。
ListBox ItemSource
绑定到ObservableCollection
,其中包含边框。
现在我想缩放到ScrollViewer
的中心。
将滑块绑定到ScaleX
的{{1}}和ScaleY
很容易,但如何将Canvas.RenderTransform
和Scrollviewer's ViewportWidth*0.5
绑定到ScrollViewer's ViewportHeight*0.5
或{{ 1}}。
我知道在xaml中无法进行计算,但我甚至无法绑定CenterX
。
在没有MVVM的情况下缩放到中心非常简单,但我找不到适用于MVVM的解决方案。
CenterY
ZoomCenterX和ZoomcenterY是c#代码中的属性,我使用它来计算它们的值 ((的MainView)System.Windows.Application.Current.MainWindow).ContentViewer.ViewportWidth; 我知道这不是MVVM和作弊,但我找不到更好的解决方案。