【问题标题】:WPF best way for changing layout dynamicallyWPF动态更改布局的最佳方法
【发布时间】:2013-01-25 14:25:57
【问题描述】:

我开始构建一个 C# WPF 应用程序,我想要一个带有多个“屏幕”的控件(实际上是另一个 UserControls),但我想让用户在多个布局预设之间进行选择。 例如 - 将该主控件拆分为 4/9/16/64 个窗口,或者在中间有一个大窗口,在边缘有一个小窗口。
所以我知道如何构建每个“模式”的布局,但是我应该如何在它们之间切换呢?
毕竟,我想拥有一个主控件,其方法如下:

mainControl.SwitchMode(Modes.LAYOUT_4_SCREENS);

并且控件将以优雅的方式(代码说话)更改布局,并将每个屏幕(另一个UserControl)放置在正确的位置。
有什么建议吗?

【问题讨论】:

    标签: wpf wpf-controls


    【解决方案1】:

    您可能可以通过编程方式更改包装网格的内容。在不同的网格中,您可以构建您的布局。但我认为对开发人员更友好的方法是简单地创建不同的视图(用户控件),然后将包装网格的内容切换到不同的用户控件,即

    <Grid x:Name="LayoutRoot">
    </Grid>
    

    代码隐藏:

    Layout4ScreenView screenView4 = new Layout4ScreenView();
    Layout2ScreenView screenView2 = new Layout4ScreenView();
    
    Switch(LayOut)
    {
    case Mode.LAYOUT_4_SCREENS:
    LayoutRoot.Content = screenView4;
    break;
    
    case Mode.LAYOUT_2_SCREENS:
    LayoutRoot.Content = screenView2;
    break;
    
    }
    

    【讨论】:

    • 所以我实际上为此构建了自己的用户控件。
    猜你喜欢
    • 2016-09-17
    • 2013-05-25
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2015-06-26
    • 2014-04-06
    相关资源
    最近更新 更多