C# 更改菜单中的宽度

C# 更改菜单中的宽度,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,我想知道如何在XAML中设置dinamic菜单宽度。我读过关于“*”的内容,但在菜单中它不起作用。我在C中这样做: public MainWindow() { InitializeComponent(); menu1.Width = this.Width; toolBarPanel1.Width = this.Width; } private void Window_SizeChanged(object sende

我想知道如何在XAML中设置dinamic菜单宽度。我读过关于“*”的内容,但在菜单中它不起作用。我在C中这样做:

    public MainWindow()
    {
        InitializeComponent();
        menu1.Width = this.Width;
        toolBarPanel1.Width = this.Width;
    }

    private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        menu1.Width = this.Width;
        toolBarPanel1.Width = this.Width;
    }

但我认为在XAML中设置dinamic大小的更好方法,你能告诉我怎么做吗?

如果你把菜单放在网格中,你可以指示网格拉伸菜单的大小,不管窗口大小如何变化。

这不是在WPF中构建用户界面的方法。您最好阅读有关为UI使用布局的内容,也许DockPanel会对您有所帮助。

*将占用可用空间。你可以使用比率。例如:

1.5*
2*
1*

1.5将是1.5倍的宽度。2将是1宽度的2倍。通过这种方式,您可以控制宽度,而无需将其设置为固定值。

它是否具有HorizontalAlignment属性?您可以这样做:HorizontalAlignment=Stretch,使其拉伸到容器的大小?