Я зарегистрировал SizeChangedHandler на моем ScatterViewItem:Содержание Установка в ScatterViewItem в зависимости от размера
private void MethodBoxScatterSizeChanged(object sender, SizeChangedEventArgs args)
{
if (args.NewSize.Width < 150 && args.NewSize.Height < 150)
{
ScatterViewItem svi = sender as ScatterViewItem;
TextBox txt = new TextBox();
txt.Text = "Test";
txt.Tag = svi.Content;
svi.Content = txt;
args.Handled = true;
}
else if (args.PreviousSize.Width < 150 && args.PreviousSize.Height < 150 && args.NewSize.Height > 150 && args.NewSize.Width > 150)
{
ScatterViewItem svi = sender as ScatterViewItem;
FrameworkElement old = (svi.Content as FrameworkElement).Tag as FrameworkElement;
svi.Content = old;
args.Handled = true;
}
}
Как вы можете видеть, я хочу, чтобы установить тест как содержание ScatterViewItem, если она мала, и оригинальное содержимое, если оно больше. Но как только я уменьшил его, он всегда остается на тестовом пути. Что я делаю не так?
Я также должен добавить рекомендацию пользовательского интерфейса. вместо того, чтобы заменить содержимое, которое вызовет «поп» в пользовательском интерфейсе, подумайте о том, чтобы всегда иметь «Тест» в пределах SVI, дать ему 0 непрозрачность для начала и плавно анимировать его непрозрачность в/из при пересечении порога размера , не забудьте установить ishittestvisible = false на нем тоже –
Приятная идея, спасибо. – RoflcoptrException
Знаете ли вы, что это самый простой способ сделать это? (http://msdn.microsoft.com/en-us/library/ms752312.aspx#storyboardwalkthrough) – RoflcoptrException