. Я создаю пользовательский элемент управления, который укладывает три календаря месяца WPF (Master, Slave1 и Slave2) по вертикали. Я хочу, чтобы второй и третий календари были скрыты до тех пор, пока окно хоста не станет достаточно большим, чтобы показывать весь месяц - без частичных календарей. Я реализовал функцию захвата события SizeChanged в обработчике события в коде:
/// <summary>
/// Shows only complete calendars--partially visible calendars are hidden.
/// </summary>
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
{
// Increasing window height
var newHeight = e.NewSize.Height;
if (newHeight > 500)
{
SlaveCalendar1.Visibility = Visibility.Visible;
SlaveCalendar2.Visibility = Visibility.Visible;
}
else if (newHeight > 332)
{
SlaveCalendar1.Visibility = Visibility.Visible;
SlaveCalendar2.Visibility = Visibility.Hidden;
}
else
{
SlaveCalendar1.Visibility = Visibility.Hidden;
SlaveCalendar2.Visibility = Visibility.Hidden;
}
}
Работает нормально, но я бы предпочел реализовать эту функцию в XAML, и я не уверен, как это сделать. Какие-либо предложения? Я не ищу кого-то еще, чтобы написать это для меня - просто укажи мне правильное направление. Спасибо за вашу помощь.