2013-11-14 5 views
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=" "/> 

То, что я хотел бы добиться того, чтобы показать bПОИСК ИЗОБРАЖЕНИЯ и InnerContent попеременно, но текст должен быть всегда в центра пространства изображения, так что, когда изображение заменяется текстом, текст находится посередине пространства изображения.

И когда это будет сделано, я хотел бы добавить еще один TextBlock с именем errorTextBlock, и он должен быть всегда видимым чуть ниже BImage или InnerContent, согласно которому он отображается прямо сейчас.

Надеюсь, что это ясно.

+2

Поместите оба элемента управления в сетку и установите HorizontalAlignment и VerticalAlignment в "Center" для обоих. – Clemens

+0

используйте сетку с выравниванием H и V с центром –

+0

@ Clemens прав, но я также отредактировал мой вопрос – gruber

ответ

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; 
    } 
} 
Смежные вопросы