使用WPF扩展

问题描述

我已经在我们的窗口中实现了缩放,在该窗口中,我们可以像这样修改缩放变换:

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

希望这对其他人有帮助:)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...