2017-02-13 5 views
4

私は何時間もグーグルで遊んでいましたが、WPF要素を浮動させる方法の例はたくさんありますが、同じ行に2つの単純な要素が浮かび上がっています。ここに私のコードですWPF FlowDocumentの同じ行に浮動要素を保持する

<FlowDocument ColumnWidth="999999"> 
     <Section> 
      <Paragraph> 
       <Floater HorizontalAlignment="Left" Width="200"> 
        <Paragraph> 
          <Run Text="Hello World Left"/> 
        </Paragraph> 
       </Floater> 
       <Floater HorizontalAlignment="Right" Width="200"> 
        <Paragraph> 
          <Run Text="Hello World Right"/> 
        </Paragraph> 
       </Floater> 
      </Paragraph> 
     </Section> 
</FlowDocument> 

私はこれらがページの左右の同じ行に表示されると思います。しかし、1が行下にシフトします右側:

enter image description here

はどのようにして右側が左と同じ高さにある要素を浮かべておくことができますか?それが動作する理由

+0

私は*幅は 'Floater'で無視されると思います*列の幅をとっています。 [備考](https://msdn.microsoft.com/en-us/library/system.windows.documents.floater%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396#Remarks)セクションを確認してください。 MSDNの 'Floater'のために。 –

+0

例をもっと読むと、widthは親の幅に対する幅の比率を表すdoubleとして指定されているようです。したがって、「0.5」は列の幅の半分になります。 –

+0

MSDNの例に関するコメントは、ドキュメントに記載されている内容と一致していないようですので、実際にどのように動作するかはわかりません。 '' 0.33'のような値をテストすることをお勧めします。 –

答えて

2

は(ぶら下がりまたはインデントを行う可能性があります)知ってはいけない、段落の最初のインラインとして空の実行を設定します。

   <Paragraph > 
        <Run /> 
        <Floater HorizontalAlignment="Left" Background="AliceBlue" 
          BaselineAlignment="TextBottom" Width="200"> 
         <Paragraph> 
          <Run Text="Hello World Left"/> 
         </Paragraph> 
        </Floater> 
        <Floater HorizontalAlignment="Right" Background="AntiqueWhite" 
          BaselineAlignment="TextBottom" Width="200"> 
         <Paragraph> 
          <Run Text="Hello World Right"/> 
         </Paragraph> 
        </Floater> 
       </Paragraph> 
関連する問題