0

这是我的一段代码:

<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 但文本应始终位于图像空间的中心,以便当图像被文本替换时,文本位于图像空间的中间。

完成此操作后,我想添加另一个名为 errorTextBlock 的 TextBlock,它应该始终在 BImage 或 InnerContent 下方可见,根据哪个现在可见。

我希望这很清楚

4

1 回答 1

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;
  }
}
于 2013-11-14T11:17:40.077 回答