【问题标题】:How do I create a left-aligned, horizontal menu bar like the one in the image?如何创建一个左对齐的水平菜单栏,就像图像中的那样?
【发布时间】:2017-03-05 14:26:29
【问题描述】:

Application whose style I would like to copy

我真的很喜欢这个应用程序的整体设计和风格,我确信它是由 C# 开发的。我宁愿不侵犯任何版权并反汇编该项目,而是创建我自己的受此启发的菜单。 另外,如果可能的话,我想使用 Winforms

我将如何去做这样的事情? 有没有值得我学习的著名开源控件?

【问题讨论】:

  • 欢迎来到 Stack Overflow。这个网站是关于回答具体问题,简化为一个具体问题,你已经投入了你的时间和研究。请在你尝试自己解决问题后编辑你的帖子。

标签: c# wpf winforms controls


【解决方案1】:

如果你使用 wpf,你可以使用 2 帧:

1) 用于按钮

StackPanel(垂直方向) >> 把按钮放在里面

2) 页面

将页面放在第二个框架中
*为您的应用标题使用第三个框架。
创建一个具有属性的类,以跟踪要加载到第二帧中的页面。因此,当您单击第一帧中的“主”按钮时,所需页面将加载到第二帧中。
示例:

public static class ActivePages
    {
        private static Uri mainFramePage;
        private static Uri headerFramePage;

        public static Uri MainFramePage
        {
            get { return mainFramePage; }
            set
            {
                mainFramePage = value;
                if (value == SignIn)
                {
                    HeaderFramePage = EmptyHeader;
                }
                OnPropertyChanged(new PropertyChangedEventArgs("MainFramePage"));            }
        }
        public static Uri HeaderFramePage
        {
            get { return headerFramePage; }
            set
            {
                headerFramePage = value;
                OnPropertyChanged(new PropertyChangedEventArgs("HeaderFramePage"));
            }
        }
        public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged;
        static ActivePages()
        {
            SignIn = new Uri("Pages/SignIn.xaml",UriKind.Relative);
        }
        private static void OnPropertyChanged(PropertyChangedEventArgs e)
        {
            if (StaticPropertyChanged != null)
            {
                StaticPropertyChanged(null, e);
            }
        }
    }

这是框架的 xaml 代码

&lt;Frame x:Name="frmMain" Source="{Binding Path=(currentPage:ActivePages.MainFramePage),Mode=OneWay}"/&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-18
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多