问题描述
我已经在我们的窗口中实现了缩放,在该窗口中,我们可以像这样修改缩放变换:
su - jenkins pkill sneakers
我们正在使用Caliburn Micro,这在我们的主窗口中可以正常工作。
当我复制相同的代码并确保实际的ScaleX / Y属性在其他窗口中得到更新时,这些窗口似乎没有在听比例转换。同样,这仅适用于新初始化的窗口,例如设置窗口。
在我们的MainWindowviewmodel中,我们像这样初始化AboutBox:
<Window.Resources>
<ResourceDictionary>
<ScaleTransform x:Key="windowScaleTransform"
ScaleX="{Binding ScaleX,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
ScaleY="{Binding ScaleY,Mode=TwoWay}" />
</ResourceDictionary>
</Window.Resources>
但是,尽管About框具有window.resource代码,但它似乎并不在乎。我不知道我现在在做什么错...
解决方法
可能会有所帮助,但是由于某些原因,当我在Window.Resources
部分中拥有以上代码时,在其他窗口上没有进行缩放。
起作用的是找到Window / UserControl的第一个元素,并像这样添加缩放比例。就我而言,其中一个窗口的第一个元素是边框:
<Border BorderThickness="2" BorderBrush="{StaticResource ResourceKey=SeeColour}">
<Border.LayoutTransform>
<ScaleTransform ScaleX="{Binding Source={x:Static mediators:ScalingMediator.Instance},Path = ScaleX}"
ScaleY="{Binding Source={x:Static mediators:ScalingMediator.Instance},Path = ScaleY}" />
</Border.LayoutTransform>
... etc
希望这对其他人有帮助:)