Взаимодействие MouseLeave и кнопок
У меня есть 2 кнопки: B1(постоянно видна) и B2(Hidden в начале). Мне нужно при наведении на кнопку B1 увидеть кнопку B2. С эти справляется MouseEnter. Кнопка B2 появляется. Обе кнопки находятся в элементе Grid.Я хочу что-бы у Grid'а была функция MouseLeave, которая бы скрывала кнопку B2. Я сделала так как хотел, но кнопка B2 пропадает, как только мышь выходит за пределы B1. Как мне изменить это, чтобы например, при наведении на B2 что-то происходило еще, при этом B2 не пропадала бы когда мышь переходит из B1 в B2. Я поставил таймер для того чтобы был зазор времени между переносом мыши и вхождением в B2, но это не помогло. Если есть более простые способы реализовать такие взаимодействия, подскажите пожалуйста. 
private void Grid_MouseLeave(object sender, MouseEventArgs e)
{
var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) };
timer.Start();
timer.Tick += (a, args) =>
{
timer.Stop();
Button_2.Visibility = Visibility.Hidden;
};
}