3

Windows Phone で一見単純なレイアウトの問題があります。この問題は、次の図に示されています。

図

私の要件は次のとおりです。

  • タイトルのオーバーフロー テキストを犠牲にして、サブタイトルを常に表示する必要があります。
  • タイトルとサブタイトルは合わせて、垂直方向と水平方向の中央に配置する必要があります。

StackPanelまたは自動高さの行を使用するGridと、ボックスがオーバーフローします。星の高さの行を試してみると、大きなタイトルを制御できません。

4

1 に答える 1

1
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
   <Grid.RowDefinitions>
      <RowDefinition Height="*" />
      <RowDefinition Height="Auto" />
   </Grid.RowDefinitions>
   <TextBlock ...>Title</TextBlock>
   <TextBlock Grid.Row="1" ...>SubTitle</TextBlock>
</Grid>

解決策が見つかりました。これは、画面全体にオーバーフローしている下部要素を除くすべてをカバーします。私の場合、これは不可能です。親コンテナに無限の高さが提供されていない場合にのみ機能します(のようにStackPanel)。

基本的に、高さは-height 要素autoよりも優先されます。starこれにより、下部TextBlockにその高さを選択するためのスペースが与えられ、残りの利用可能なスペースが上部の要素に割り当てられます。

于 2013-08-22T18:57:21.897 に答える