silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight – Windows Phone 7应用程序 – 方向更改大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

你好开发人员! 我正在开发一个 Windows Phone 7应用程序,我无法弄清楚我认为对于经验丰富的人来说这是一个简单的问题. 假设我有一个由两个元素组成的布局:一个ListBox(填充了大量项目)和一个TextBlock(为用户提供一些基本指令). 当设备处于纵向方向时,我希望这些是一个在另一个之上,并且当设备方向更改为横向时,我希望它们彼此相邻. 对于纵向方向,我使用网格布局管理器,因为它
你好开发人员!
我正在开发一个 Windows Phone 7应用程序,我无法弄清楚我认为对于经验丰富的人来说这是一个简单的问题.
假设我有一个由两个元素组成的布局:一个ListBox(填充了大量项目)和一个TextBlock(为用户提供一些基本指令).

当设备处于纵向方向时,我希望这些是一个在另一个之上,并且当设备方向更改为横向时,我希望它们彼此相邻.

对于纵向方向,我使用网格布局管理器,因为它允许我定义行的高度,如此…行0高度=“2 *”,行1高度=“*”

ListBox位于第0行,TextBlock位于第1行.现在,真正简洁的是将RowDeFinitions简单地更改为columnDeFinitions并将列表框/文本块重新分配给网格的列而不是设备切换到Landscape时的行.

但这只是我的想法.我不知道如何优雅地完成这项工作.也许有更好的方法吗?或者这可能是正确的方法,并且有一些方法正是为此目的而构建的?

谢谢你的建议!

解决方法

这对于认的纵向配置如何: –

<Grid>
   <Grid.RowDeFinitions>
       <RowDeFinition Height="2*" />
       <RowDeFinition Height="*" />
   </Grid.RowDefintions>
   <Grid.columnDeFinitions>
       <columnDeFinition Width="2*" />
       <columnDeFinition Width="*" />
   </Grid.columnDeFinitions>

   <ListBox x:Name="ItemList" Grid.columnSpan="2" />
   <TextBlock x:Name="instructions" Grid.Row="1" Grid.columnSpan="2">
      Content
   </TextBlock>

然后在您的OrientationChanged事件中使用: –

if ((e.orientation & PageOrientation.PorTrait) == PageOrientation.PorTrait)
{
     Grid.SetRow(ItemList,0);
     Grid.SetRowSpan(ItemList,1);
     Grid.Setcolumn(ItemList,0);
     Grid.SetcolumnSpan(ItemList,2);

     Grid.SetRow(instructions,1);
     Grid.SetRowSpan(instructions,1);
     Grid.Setcolumn(instructions,0);
     Grid.SetcolumnSpan(instructions,2);
}
else
{
     Grid.SetRow(ItemList,2);
     Grid.Setcolumn(ItemList,1);

     Grid.SetRow(instructions,0);
     Grid.SetRowSpan(instructions,2);
     Grid.Setcolumn(instructions,1);
     Grid.SetcolumnSpan(instructions,1);
}

大佬总结

以上是大佬教程为你收集整理的silverlight – Windows Phone 7应用程序 – 方向更改全部内容,希望文章能够帮你解决silverlight – Windows Phone 7应用程序 – 方向更改所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。