首页 > 解决方案 > WPF 将 Frame 宽度绑定到 MainWindow 宽度,这样如果 Frame Content 的宽度较小,MainWindow 会调整它的大小

问题描述

我有以下代码MainWindow,并且我有几个不同大小的页面,根据具体的绑定,一个页面变成了MainFrame.

<Window
x:Class="UnrealScripts.Core.Owner.MainWindow"
x:Name="AppWindow"
Width="{Binding ActualWidth,ElementName=MainFrame}" 
//if content in MainFrame has width of 300, MainWindow should change its width to 300, instead of stretching MainFrame content.
>
   <Frame
            x:Name="MainFrame"
        VerticalContentAlignment="Center"
        HorizontalContentAlignment="Center"
            NavigationUIVisibility="Hidden"
            Content="{Binding CurrentPage, Converter={local:MainWindowValueConvertor}}"
    />

但问题是:让我们假设 MainWindow Width = 900 Page1 Width = 300 Page2 Width = 800

我的情况是,当Page1设置为时MainFrame contentMainWindow缩小到 300 的宽度,当Page2是内容时,MainWindow 扩展到 800 的宽度。

任何建议都会有所帮助,谢谢。

标签: c#wpfxamluser-interfacebinding

解决方案


推荐阅读