以编程方式撤消RenderTransform

时间:2018-07-19 16:12:26

标签: c# wpf

我正在研究一种将TranslateTransform添加到ContentPresenter的{​​{1}}并调整其RenderTransform偏移值的行为。在某些时候,我想删除那个.Y并将TranslateTransform返回到它的原始位置。

如何删除转换并将ContentPresenter返回到其原始位置?

这是添加和调整变换的方式...

ContentPresenter

我尝试删除某些内容...

       if (presenter.RenderTransform as TranslateTransform == null)
            presenter.RenderTransform = new TranslateTransform();
        ((TranslateTransform)presenter.RenderTransform).Y -= offset;

Here是完整的演示项目,我对here的原始示例进行了一些小的更改。

在下面的演示中,您可以查看是否缓慢滚动将ContentControl放置在正确的位置。但是,如果使用鼠标滚轮快速滚动,则不会。 该代码应该从先前浮动的// does not work... presenter.RenderTransform = new TranslateTransform(); // does not work either... presenter.RenderTransform = null; 中删除RenderTransform

enter image description here

0 个答案:

没有答案