我正在用C#开发适用于Windows Phone 8的应用程序
我在 MainPage布局中有16个TextBox
。
所有TextBox的Visibility
值为:Visible
所有TextBox的Opacity
值为:100%
当应用开始运行时,所有16个文本框都会显示,一切运行良好。
问题是当我点击一个specefic按钮时,它会执行多个进程,其中一些包含播放StoryBoard
' s Animations
所有16个文本框都消失了,我调试了应用程序,并检查了点击后Visibility
和Opacity
属性 AFTER 的值,但他们没有改变!
并且,点击之后执行的所有进程都不会影响任何TextBox,我检查了每个文本框的所有引用,它们从未在任何代码行中使用过。
我也有一个重置按钮,它分配一个空字符串(tb1.Text = "";
)
对于所有TextBox
es
当我点击它 AFTER 时它们会消失,它会显示出来
这也很奇怪,因为代码也不会影响Visibility或Opacity属性
重置按钮代码:
private void reset_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
t1.Text = "";
t2.Text = "";
t3.Text = "";
t4.Text = "";
t5.Text = "";
t6.Text = "";
t7.Text = "";
t8.Text = "";
g1.Text = "";
g2.Text = "";
g3.Text = "";
g4.Text = "";
g5.Text = "";
g6.Text = "";
g7.Text = "";
g8.Text = "";
}
更新
在跟踪每行代码后,我发现,导致此错误的过程是fadeImage.Begin();
,这是一个Storyboard
,它的作用是使图片的动画渐渐消失,我取代了使用另一个动画播放fadeImage
动画的行,TextBox
es不会消失,因此问题通常不在于Storyboard
,而是{ {1}}具体而言
XAML代码:
fadeImage
C#:
<Storyboard x:Name="fadeImage" Completed="fadeImage_Completed">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
可能是Windows Phone 8的错误吗?