- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
以下是 Windows Phone 8 应用程序的非常基本的布局。我有一个带有 PivotItem
的 PivotControl
。 PivotControl
的 header 以红色标出,而 PivotItem
以绿色标出。我要让 Canvas
占据 PivotItem
的 100%,所以我需要能够相应地计算它的尺寸(因为高度/宽度将决定尺寸以及其他控件的放置)。
所以现在我可以用这个计算我的 PivotItem
的宽度,其中 margin
是所有四个边的边距量(左边乘以 2,右):
double width = Application.Current.Host.Content.ActualWidth - (margin * 2);
高度比较困难,因为我需要用总屏幕高度减去 StatusBar 高度和标题高度(我的图像中的红色矩形)。
有谁知道如何获取 PivotItem
的高度?有没有比像我这样计算它更简单的方法?现在 Height
和 ActualHeight
属性都是 0.0。
最佳答案
如果我没理解错的话,你有一个 Canvas 占据了整个 PivotItem?像这样:
<phone:Pivot>
<phone:Pivot.Items>
<phone:PivotItem Header="menu">
<Canvas x:Name="Canvas" />
</phone:PivotItem>
<phone:PivotItem Header="game" />
</phone:Pivot.Items>
</phone:Pivot>
如果是这样,检索 Canvas 的高度就非常简单了:
Debug.WriteLine(this.Canvas.ActualHeight);
注意:ActualHeight
属性不会在 Loaded
事件之前填充。因此,如果您尝试从构造函数或 OnNavigatedTo
方法中读取它,该属性将等于 0。
完整的 XAML 代码:
<phone:PhoneApplicationPage
x:Class="WP7ForumTest.Page3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
Loaded="Page_Loaded">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<phone:Pivot>
<phone:Pivot.Items>
<phone:PivotItem Header="menu">
<Canvas x:Name="Canvas" />
</phone:PivotItem>
<phone:PivotItem Header="game" />
</phone:Pivot.Items>
</phone:Pivot>
</Grid>
</phone:PhoneApplicationPage>
以及代码隐藏:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.Canvas.ActualHeight.ToString());
}
关于c# - 计算 PivotItem 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354828/
我正在尝试使用数组来检查数据透视表中过滤的数据透视项目,看看它是否应该可见。目前我用下面的代码对其进行了硬编码。但是,当我有一个以上的项目来检查过滤器时,我想使用一个数组。 目标是仅过滤所需的项目。
我想让 PivotItem.Visible = False 但我不断收到错误: Unable to set the Visible property of the PivotItem class 我尝
我对 VBA 有点陌生,我保证我进行了搜索,但恐怕我太新了,甚至无法正确搜索,因为我不确定我可能需要的术语。 我有一个作为更大宏的一部分创建的数据透视表。创建后,我只想显示特定的 PivotItems
我有一个带有 Pivot 的主页-control 并且在某些情况下我不想显示特定的 PivotItem . 设置 Visibility崩溃似乎根本不影响它。 有什么建议? 最佳答案 您应该能够通过使用
当我点击主页上的图像时,如何导航到数据透视页的特定数据透视项? XAML 代码如下用于主页上的图像 Pivot-Page 的代码如下 .......... ...
我在 MainPage.xaml 中有这段代码:
我有 RowField.Name 的值和 PivotItem.Name 的值在 RowFields ,我想突出显示特定的单元格。但我似乎找不到一种方法可以让我遍历每个可见的 RowField。 理想情
在 XAML 中,PivotItems 不具有 Windows Phone 屏幕的全宽。这是良好的行为和设计,但对于单个图像,我希望它填充整个屏幕宽度。 这能实现吗? 最佳答案 根本原因是默认的 Pi
我想对符合特定条件的 PivotTable 的某些 PivotItems 的 DataRange.Value 求和,但我不想这样做每次 PageFilter 更改时都会发生。这是我的代码: Sub W
当我刷新数据,然后使用以下代码刷新数据透视表时,默认情况下会选择新添加的项目。有什么方法可以防止这种情况发生,因为这意味着我必须再次进入并取消选择? Dim pt As PivotTable
数据透视表允许您通过双击值或右键单击字段并选择“显示详细信息”来“向下钻取”一组数据: 我的问题是,VBA(Office 2010)中是否有任何方法可以捕获这些数据?我浏览了 PivotItem 上的
我有一个 Pivot 控件。我想要一个特殊的行为——每当用户点击当前选择的 PivotItem 的标题时,我都想对此使用react。但是,当点击的标题不属于当前选定的数据透视项时,不会发生此 reac
以下是 Windows Phone 8 应用程序的非常基本的布局。我有一个带有 PivotItem 的 PivotControl。 PivotControl 的 header 以红色标出,而 Pivo
我的页面中有几个数据透视项,根据应用程序是否处于试用模式,我需要显示或隐藏其中一个数据透视项。直接在 XAML 或 C# 中设置 PivotItem 的可见性只会隐藏 PivotItem 中的内容,而
我有一种情况,我正在显示一组 PivotItem 和(取决于情况)一个收藏夹。 我需要能够在包含我的收藏夹的列表为空时隐藏此枢轴 - 但它需要在有内容时显示。 现在,我可以直接删除它,但是这个场景呢:
我希望有一个具有 PivotItems 但没有横向的 Pivot 项目标题文本的 Pivot 控件(它是横向模式下的画廊,当恢复为纵向时它应该再次显示 PivotItems 标题)。 使文本 Pivo
在 Excel 工作簿中,我在工作表上有“静态”数据透视表,它基于另一个工作表中的数据。 我正在刷新我的数据表上的数据(谢谢队长 Obvious!),然后我想显示所有项目,除了空白项目,所以我正在运行
在 Windows Phone 7 页面中,我有以下控制: 使用此数据模板: ItemsSource是 ObservableColl
我有一个具有以下 .name 和 .value 属性的 PivotItem: [dimCalendar].[MonthName].&[April 2013] 我只对2013 年 4 月 部分感兴趣。
我需要为 Windows Phone 8.1 应用程序隐藏 WinJS.UI.PivotItem,然后在满足特定条件后再次显示它。 我以为它会像使用 CSS 显示和隐藏 WinJS.UI.PivotI
我是一名优秀的程序员,十分优秀!