簡體   English   中英

如何在WPF中制作控制基座

[英]How to make a control dock in a wpf

我試圖使菜單欄水平地填充屏幕,就像菜單欄應該看起來一樣。 當我運行程序時,窗口已設置為最大化,但菜單欄僅占頂部屏幕的一半。 我不確定如何解決此問題。 因此,為了清楚起見,我試圖根據窗口的大小使控件適合外觀。

這是代碼:

  <Window x:Class="WpfApplication3.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Royale" WindowStyle="ThreeDBorderWindow" SizeToContent="Manual" WindowState="Maximized" xmlns:my1="clr-namespace:System;assembly=mscorlib">
<Window.Resources>
    <my1:Double x:Key="Width1">500</my1:Double>
</Window.Resources>
<Grid ShowGridLines="False" Width="Auto">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Menu Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top"       Width="503" IsMainMenu="True" Grid.ColumnSpan="2">
        <MenuItem Header="File" HorizontalContentAlignment="Stretch">
            <MenuItem Header="New">
                <MenuItem Header="New Camper" />
            </MenuItem>
        </MenuItem>
        <MenuItem Header="Edit" />
        <MenuItem Header="View" />
        <MenuItem Header="Add" />
    </Menu>
   </Grid>
   </Window>

使用DockPanel

http://www.wpftutorial.net/DockPanel.html

<DockPanel LastChildFill="True">
    <Button Content="Dock=Top" DockPanel.Dock="Top"/>
    <Button Content="Dock=Bottom" DockPanel.Dock="Bottom"/>
    <Button Content="Dock=Left"/>
    <Button Content="Dock=Right" DockPanel.Dock="Right"/>
    <Button Content="LastChildFill=True"/>
</DockPanel>

簡單的答案-將菜單設置為使用Grid.ColumnSpan="3" ,因為您有3列。

但是,我建議將“主”網格嵌套在DockPanel或第二個網格(具有2行)中。 這樣,當您添加內容(即,向網格中添加新列)時,您將不必不斷調整菜單來進行補償。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM