maui-linux/Xamarin.Forms.Platform.WinRT/ListGroupHeaderPresenter.cs

46 строки
1018 B
C#

using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
#if WINDOWS_UWP
namespace Xamarin.Forms.Platform.UWP
#else
namespace Xamarin.Forms.Platform.WinRT
#endif
{
public class ListGroupHeaderPresenter : Windows.UI.Xaml.Controls.ContentPresenter
{
void OnTapped(object sender, TappedRoutedEventArgs tappedRoutedEventArgs)
{
var element = VisualTreeHelper.GetParent(this) as FrameworkElement;
while (element != null)
{
var list = element as Windows.UI.Xaml.Controls.ListView;
if (list != null)
element = list.SemanticZoomOwner;
if (element == null)
break;
var zoom = element as SemanticZoom;
if (zoom != null)
{
zoom.ToggleActiveView();
var grid = zoom.ZoomedOutView as GridView;
if (grid != null)
{
grid.MakeVisible(new SemanticZoomLocation { Item = DataContext });
}
return;
}
element = VisualTreeHelper.GetParent(element) as FrameworkElement;
}
}
}
}