我想允许用户更改Window ResizeMode属性,在我的情况下默认设置为ResizeMode="CanMinimize"。如何将其切换为ResizeMode="CanResize"

我认为可以通过使用转换器创建绑定到CheckBox.IsChecked的布尔值(或ResizeMode属性)来完成,但是我不确定是否是这样。即使这是正确的选项,我也不知道如何创建将“ True”转换为“ CanResize”并将“ False”转换为“ CanMinimize”的转换器。

最佳答案

我更喜欢触发器解决方案

<Window>
    <CheckBox Name="checkbox" Content="CanResize" />
    <Window.Style>
        <Style TargetType="Window">
            <Setter Property="ResizeMode" Value="CanMinimize" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsChecked, ElementName=checkbox}" Value="True">
                    <Setter Property="ResizeMode" Value="CanResize" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Style>
</Window>

09-20 13:03