Windows phone 7 无法使全景项目在wp8中的代码隐藏中可见
我在xaml中定义了3个全景项目。我正在为第二个和第三个全景项目设置可见性=折叠 在“代码隐藏”中,我将在特定条件发生后为第二和第三个全景项目设置可见性=可见。当我调试代码时,我看到visibility=Visible被执行,但这两个项目也只是处于折叠状态。原因可能是什么Windows phone 7 无法使全景项目在wp8中的代码隐藏中可见,windows-phone-7,c#-4.0,windows-phone-8,Windows Phone 7,C# 4.0,Windows Phone 8,我在xaml中定义了3个全景项目。我正在为第二个和第三个全景项目设置可见性=折叠 在“代码隐藏”中,我将在特定条件发生后为第二和第三个全景项目设置可见性=可见。当我调试代码时,我看到visibility=Visible被执行,但这两个项目也只是处于折叠状态。原因可能是什么 <phone:PanoramaItem Header="enterprise" Visibility="Collapsed" HeaderTemp
<phone:PanoramaItem Header="enterprise" Visibility="Collapsed"
HeaderTemplate="{StaticResource PanoramaItemHeaderTemplate}"
Name="enterpriseApps">
<Grid Margin="16,0,0,0">
<!--<StackPanel>-->
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--<Button x:Name="btnUpdate" Click="btnUpdateAll_Click" Content="Update Apps"
FontSize="30" HorizontalAlignment="Left" Visibility="Collapsed"
Grid.Row="0" Margin="-10 -10 0 0"/>-->
<ListBox x:Name="EnterpriseApplist" Grid.Row="1"
ItemsSource="{Binding EnterpriseAppList}"
ItemTemplate="{StaticResource AvailableAppDataTemplate}"
SelectionChanged="InstalledCompanyAppList_SelectionChanged"/>
<TextBlock Name="txtEnterpriseapps" Visibility="Collapsed" Grid.Row="1"/>
</Grid>
</phone:PanoramaItem>
<phone:PanoramaItem Header="uat" Visibility="Collapsed"
HeaderTemplate="{StaticResource PanoramaItemHeaderTemplate}"
Name="uatApps">
<Grid Margin="16,0,0,0">
<!--<StackPanel>-->
<ListBox x:Name="UATAppList"
ItemsSource="{Binding UATAppList}"
ItemTemplate="{StaticResource AvailableAppDataTemplate}"
SelectionChanged="InstalledCompanyAppList_SelectionChanged">
</ListBox>
<TextBlock Name="txtUatapps" Visibility="Collapsed"/>
<!--</StackPanel>-->
</Grid>
</phone:PanoramaItem>
<phone:PanoramaItem Header="demo" Name="demoApps"
HeaderTemplate="{StaticResource PanoramaItemHeaderTemplate}">
<Grid Margin="16,0,0,0">
<!--<StackPanel>-->
<ListBox x:Name="DemoAppList" Visibility="Collapsed"
ItemsSource="{Binding DemoAppList}"
ItemTemplate="{StaticResource AvailableAppDataTemplate}"
SelectionChanged="InstalledCompanyAppList_SelectionChanged"/>
<TextBlock Name="txtDemoapps" Visibility="Collapsed"/>
<!--</StackPanel>-->
</Grid>
</phone:PanoramaItem>
</phone:Panorama>
当控件初始化时,全景图测量了它的大小和排列。您可以这样更改方法(Panorama的名称为Panorama):
哼,你的意思是设置全景项目或其他控件的可见性?@MatDev8:我的意思是在代码隐藏中设置全景项目的可见性。
if (App.ViewModel.EnterpriseAppList.Count == 0)
{
enterpriseApps.Visibility = Visibility.Visible;
if (App.ViewModel.UATAppList.Count == 0)
{
uatApps.Visibility = Visibility.Visible;
}
if (App.ViewModel.DemoAppList.Count == 0)
{
demoApps.Visibility = Visibility.Visible;
}
if (App.ViewModel.EnterpriseAppList.Count == 0)
{
int index1 = panorama.Items.IndexOf(enterpriseApps);
panorama.Items.RemoveAt(index1);
panorama.Items.Insert(index1, enterpriseApps);
enterpriseApps.Visibility = Visibility.Visible;
if (App.ViewModel.UATAppList.Count == 0)
{
int index2 = panorama.Items.IndexOf(uatApps);
panorama.Items.RemoveAt(index2);
panorama.Items.Insert(index2, uatApps);
uatApps.Visibility = Visibility.Visible;
}
if (App.ViewModel.DemoAppList.Count == 0)
{
int index3 = panorama.Items.IndexOf(demoApps);
panorama.Items.RemoveAt(index3);
panorama.Items.Insert(index3, demoApps);
demoApps.Visibility = Visibility.Visible;
}
}