2011-03-17 61 views
1

我想知道拦截DP值并按照XAML尽可能友好的方式按比例缩放它的最佳方式,而无需对控件进行子类化。为了更好地解释,我正在研究管理画布(和派生)对象缩放的行为,并且我希望能够轻松地按照当前比例因子“对某些DP”进行“未缩放”(例如线条粗细),所以我希望一些XAML友好的方式可以让用户指定哪些属性为未缩放,并让我拦截以应用适当的缩放因子,我知道它是提供缩放的代理。 在此先感谢,替代依赖项属性值

+0

您是否利用已存在的WPF的MultiScaleImage代码http://blogs.windowsclient.net/joeyw/archive/2008/08/05/pan-and-zoom-deepzoom-style-in-wpf.aspx – 2011-03-17 15:03:10

+0

链接似乎破了 – 2011-03-17 15:22:29

+0

嗯...博客是在Twitter上;可能能够联系他作为src等等......现在可能存在于其他地方.... @ woodjoe – 2011-03-17 15:39:57

回答

1

如果您试图实现的是缩放/缩小时的等宽笔划尝试使用变换对您的几何对象而不是您的Visual/FrameworkElement对象进行缩放。

祝你好运!

+0

你的意思是将scale trasform应用于场景中的所有对象? – 2011-03-17 14:59:57

+0

我的意思是将缩放变换仅应用于场景中物体的几何图形。例如,如果您有一个路径,那么它的Path.Data中有一个几何。每个几何都有一个Transform属性。在创建几何图形并进行缩放时,可以将此变换绑定到缩放因子。 – Alex 2011-03-17 15:00:34

+0

好吧,缩放是一个视图变形,我宁愿将变形应用于“视图”(画布),而不是变形对象,即使我想要显示游标的运行坐标,也不希望将画布缩放。 – 2011-03-17 15:21:17