win2d -> skia, some improvements on rendering.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
using Microsoft.UI.Xaml.Automation.Peers;
|
||||
using System.Linq;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Automation.Peers;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Wino.Mail.WinUI.Controls.CalendarFlipView;
|
||||
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
@@ -11,21 +14,37 @@ public partial class CustomCalendarFlipView : FlipView
|
||||
private const string PART_PreviousButton = "PreviousButtonHorizontal";
|
||||
private const string PART_NextButton = "NextButtonHorizontal";
|
||||
|
||||
private Button PreviousButton;
|
||||
private Button NextButton;
|
||||
private Button? PreviousButton;
|
||||
private Button? NextButton;
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
PreviousButton = GetTemplateChild(PART_PreviousButton) as Button;
|
||||
NextButton = GetTemplateChild(PART_NextButton) as Button;
|
||||
PreviousButton = (Button)GetTemplateChild(PART_PreviousButton);
|
||||
NextButton = (Button)GetTemplateChild(PART_NextButton);
|
||||
|
||||
// Hide navigation buttons
|
||||
PreviousButton.Opacity = NextButton.Opacity = 0;
|
||||
PreviousButton.IsHitTestVisible = NextButton.IsHitTestVisible = false;
|
||||
|
||||
this.SelectionChanged += FlipViewSelectionChanged;
|
||||
}
|
||||
|
||||
private void FlipViewSelectionChanged(object sender, SelectionChangedEventArgs e) => OnSelectedItemChanged(e.RemovedItems.FirstOrDefault(), e.AddedItems.FirstOrDefault());
|
||||
|
||||
protected virtual void OnSelectedItemChanged(object oldValue, object newValue) { }
|
||||
|
||||
protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
|
||||
{
|
||||
base.PrepareContainerForItemOverride(element, item);
|
||||
OnContainerPrepared(element, item);
|
||||
}
|
||||
|
||||
protected virtual void OnContainerPrepared(DependencyObject element, object item) { }
|
||||
|
||||
protected override DependencyObject GetContainerForItemOverride() => new WinoCalendarFlyoutItem();
|
||||
|
||||
public void GoPreviousFlip()
|
||||
{
|
||||
var backPeer = new ButtonAutomationPeer(PreviousButton);
|
||||
|
||||
Reference in New Issue
Block a user