私はWP7アプリに取り組んでおり、ユーザーが横向きに回転すると、アプリのヘッダー内の画像を非表示にして、ユーザーがより多くの情報を見ることができるようにしたいと考えています.
現時点では、ピボット コントロールの TitleTemplate 内に画像があります。Blend を使用して、Landscape モードのときに「Land」という VisualState を追加し、画像を非表示にしました。これは Blend で問題なく表示されます。Visual Studio で実行すると、画像が消えることはありません。
私の XAML と関連する c# は次のとおりです。私が見つけた例を使用して、Orientation 値の最初の 4 文字に基づいて、使用する VisualState の名前を導き出します。
<controls:Pivot.TitleTemplate>
<DataTemplate>
<Image x:Name="headerImage" Visibility="Visible" Source="{StaticResource headerLogo}" Height="55" HorizontalAlignment="Left" >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="VisualStateGroup">
<VisualState x:Name="Land">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="headerImage">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<Visibility>Collapsed</Visibility>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Port"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Image>
</DataTemplate>
</controls:Pivot.TitleTemplate>
そして、関連する C# - 私はデバッガーに足を踏み入れました (そのため、ヒットしています)。
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
VisualStateManager.GoToState(this, e.Orientation.ToString().Substring(0,4), false);
}
ハウラーが見える人はいますか?
ありがとう