- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Windows 8.1 中,我使用的是新的 SettingsFlyout 控件。如果您使用控件的内置后退按钮返回到“设置 super 按钮”弹出按钮,该弹出按钮会正确显示动画并且会显示动画。但是,如果您通过在浮出控件外部单击来解除关闭,则它会在没有过渡动画的情况下消失。
当您关闭 SettingsFlyout 时,如何为过渡设置动画? (我不想返回“设置魅力”弹出按钮,我只想让它在轻轻关闭时滑出。)
最佳答案
Matt,您想要做的事情应该很容易实现,但目前不支持开箱即用的 XAML SettingsFlyout API。正如 Jerry 指出的那样,有一些过渡可以产生动画效果(在 XAML 中你想要 EdgeUIThemeTransition )。不幸的是,在 SettingsFlyout 上没有 API 支持来添加此转换,但您可以使用自己的私有(private)弹出窗口来托管 SettingsFlyout(更多内容见下文)来使其工作:
public sealed partial class SettingsFlyout1 : SettingsFlyout
{
Popup _p;
Border _b;
public SettingsFlyout1()
{
this.InitializeComponent();
BackClick += SettingsFlyout1_BackClick;
Unloaded += SettingsFlyout1_Unloaded;
Tapped += SettingsFlyout1_Tapped;
}
void SettingsFlyout1_BackClick(object sender, BackClickEventArgs e)
{
_b.Child = null;
SettingsPane.Show();
}
void SettingsFlyout1_Unloaded(object sender, RoutedEventArgs e)
{
if (_p != null)
{
_p.IsOpen = false;
}
}
void SettingsFlyout1_Tapped(object sender, TappedRoutedEventArgs e)
{
e.Handled = true;
}
public void ShowCustom()
{
_p = new Popup();
_b = new Border();
_b.ChildTransitions = new TransitionCollection();
// TODO: if you support right-to-left builds, make sure to test all combinations of RTL operating
// system build (charms on left) and RTL flow direction for XAML app. EdgeTransitionLocation.Left
// may need to be used for RTL (and HorizontalAlignment.Left on the SettingsFlyout below).
_b.ChildTransitions.Add(new EdgeUIThemeTransition() { Edge = EdgeTransitionLocation.Right });
_b.Background = new SolidColorBrush(Colors.Transparent);
_b.Width = Window.Current.Bounds.Width;
_b.Height = Window.Current.Bounds.Height;
_b.Tapped += b_Tapped;
this.HorizontalAlignment = HorizontalAlignment.Right;
_b.Child = this;
_p.Child = _b;
_p.IsOpen = true;
}
void b_Tapped(object sender, TappedRoutedEventArgs e)
{
Border b = (Border)sender;
b.Child = null;
}
}
关于xaml - 如何在关闭时为 SettingsFlyout 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20907114/
在 Windows 8.1 中,我使用的是新的 SettingsFlyout 控件。如果您使用控件的内置后退按钮返回到“设置 super 按钮”弹出按钮,该弹出按钮会正确显示动画并且会显示动画。但是,
有没有办法知道何时从目标页面关闭了 settingsflyout? 在 SettingsFlyout 中,我可以看到 BackClick 事件,但这仅在用户明确点击 SettingsFlyout 中的
我有一个带有设置弹出窗口的 Windows 8.1 应用程序,当您单击设置 super 按钮栏中的自定义设置时,它会打开。 但是,我在设置弹出窗口中的内容没有使用设置弹出窗口的完整高度/宽度,而是在所
在 Windows 8.1 中,当 native SettingsFlyout 可见并且我在我的应用程序或其他应用程序中的其他位置单击时,弹出窗口消失。 有没有办法在我手动关闭之前保持它可见?我的用例
我目前正在开发 Windows 10 UWP 应用程序。在升级到 Windows 10 之前,我使用了 Windows 8.1 中的 SettingsFlyout 类。现在我在 stackoverfl
我是一名优秀的程序员,十分优秀!