代码之家  ›  专栏  ›  技术社区  ›  Marchy

有没有办法强制WrapPanel在WPF中插入“换行符”?

wpf
  •  8
  • Marchy  · 技术社区  · 17 年前

    如果我将元素插入到包裹面板中,并且面板中仍有空间,然后它将溢出到下一行,我是否可以将其包裹,以便后续元素位于下一行?

    <WrapPanel>
      <Element/>
      <Element/>
    
      <NewLine???/>
    
      <Element/>
      <Element/>
      <Element/>
    </WrapPanel>
    
    2 回复  |  直到 17 年前
        1
  •  21
  •   Timothy Khouri    17 年前

    这项工作:

    <WrapPanel>
        <TextBlock>1</TextBlock>
        <TextBlock>2</TextBlock>
        <TextBlock>3</TextBlock>
        <TextBlock>4</TextBlock>
    
        <TextBlock Width="10000" Height="0" />
    
        <TextBlock>5</TextBlock>
        <TextBlock>6</TextBlock>
    </WrapPanel>
    

    我必须补充一点。。。这简直是一次黑客攻击。你可能想考虑使用一个Stand Posits,在里面,有一个你想要包装的包裹。例子:

    <StackPanel>
        <WrapPanel>
            <TextBlock>1</TextBlock>
            <TextBlock>2</TextBlock>
            <TextBlock>3</TextBlock>
            <TextBlock>4</TextBlock>
        </WrapPanel>
        <WrapPanel>
            <TextBlock>5</TextBlock>
            <TextBlock>6</TextBlock>
        </WrapPanel>
    </StackPanel>
    
        2
  •  1
  •   Wobbles    8 年前

    从…起 https://stackoverflow.com/a/3587172/3797778

    只需添加:

    <TextBlock Text="&#xD;"/>
    
        3
  •  0
  •   Aaron Koehler    6 年前

    只需在新行的控件上添加一个边距:

    <TextBlock Margin="0,20,0,0">5</TextBlock>