我目前正在做一个稍微复杂一些的装饰器。当用户放大时,这一次将只在一个维度中被转换。不幸的是,这对它周围漂亮的1px发际线边框造成了极大的破坏(我希望它保持一个漂亮的发际线边框--即使是在转换的维度中)。
这是我对这个问题的诊断:
假设我将比例转换应用于装饰的UIElement。然后,WPF调用以下命令
对我来说,最后两件事似乎完全相反。如果我读得对,这意味着,当我重写GetDesiredTransform时,太少了,太迟了。是的,我确实可以缩放/翻译/扭曲我的装饰器,但是问题是:如果我想像上面描述的那样做,即只在一个维度中进行缩放,并且在装饰器上保留一个1px的发际线边框,该怎么办?我做不到,是吗?
如果我要使用装饰品,在我看来,我似乎必须把它们分割成单独的装饰器--那些要缩放的和不需要缩放的。似乎有很多工作。我在这里的通话顺序有遗漏吗?我想我可以通过视觉树触发OnRender,直到叶子,但这似乎是大规模的过度杀戮。
发布于 2017-03-16 19:01:36
您可以将边框与装饰器的内容分隔开。
进行内容转换,不涉及边框。
你能贴出你的装饰品模板的样子吗?
https://stackoverflow.com/questions/42790666
复制相似问题