在中心交替显示文本和图像

时间:2013-11-14 11:01:53

标签: c# wpf

这是我的代码:

<StackPanel  Orientation="Vertical" Grid.Row="0" Grid.Column="0" >
    <Image HorizontalAlignment="Center" VerticalAlignment="Center"  Visibility="Collapsed" Stretch="None" Name="BImage" Grid.Row="0" Margin="10 100 10 10">
    </Image>
    <TextBlock Margin="10 0 10 0" Name="InnerContent" FontSize="45"  TextWrapping="Wrap" Text=" "/>

     

我想要实现的是交替显示BImage和InnerContent,但文本应始终位于图像空间的中心,以便当图像被文本替换时,文本位于图像空间的中间。 / p>

当这个完成后,我想添加另一个名为errorTextBlock的TextBlock,它应该总是在BImage或InnerContent下方可见,根据哪一个现在可见。

我希望它很清楚

1 个答案:

答案 0 :(得分:0)

可能会有所帮助。

public System.Windows.Threading.DispatcherTimer _timer = new System.Windows.Threading.DispatcherTimer();        

_timer.Tick += _timer_Tick;
_timer.Interval = new TimeSpan(0,0,1);
_timer.Start();

int second = 0;  // a local variable to keep tab on alternate visibility of elements per second in _timer_Tick

void _timer_Tick(object sender, EventArgs e)
{
  second++;
  if((second % 2) == 0) 
  {
    InnerContent.Visibility = System.Windows.Visibility.Hidden;
    BImage.Visibility = System.Windows.Visibility.Visible;
  }
  else
  {
    BImage.Visibility = System.Windows.VisibilityHidden;
    InnerContent.Visibilty = System.Windows.Visibility.Visible;
  }
}