none
为什么Window.Padding不起作用? RRS feed

  • 问题

  • <Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        SizeToContent="WidthAndHeight"
        ResizeMode="NoResize"
        Padding="22"
    >
    
        <Grid>
            <Label 
                FontWeight="Bold"
                FontSize="36"
                BorderThickness="1"
                BorderBrush="Red"
                Content="Hello world!"/>
        </Grid>
    </Window>
    

     

    2012年1月7日 12:42

答案

  • 你可以看一下这个帖子http://stackoverflow.com/questions/1993671/window-margin-window-padding-dont-work


    非常正确,简单的中文解释就是Window的默认模板中没有将Padding的值设置到内部的一个容器上,需要我们自己加上去:

    <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"
            Padding="22">
      <Window.Template>
        <ControlTemplate TargetType="Window">
          <Border Background="White" Padding="{TemplateBinding Padding}">
            <ContentPresenter />
          </Border>
        </ControlTemplate>
      </Window.Template>
        <Grid>
           ......
    

     


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月10日 3:35
    版主

全部回复