c# - UWP 网格过渡

标签 c# xaml uwp grid win-universal-app

我试图为我的弹出式网格(用户控件)创建一个过渡。 它工作得很好,但只有一次,之后,转换不起作用,此外,当我关闭我的网格时,我没有反向转换

Xaml 用户控件:

<UserControl Visibility="Collapsed">

    <Grid Background="red">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <Grid.Transitions>
            <TransitionCollection>
                <EdgeUIThemeTransition Edge="Bottom"/>
            </TransitionCollection>
        </Grid.Transitions>

        <StackPanel>
            <Button Content="Close" Click="close_Click"/>
        </StackPanel>
    </Grid>
</UserControl>

C# 用户控件:

public sealed partial class MyUserControl1 : UserControl
{
    public MyUserControl1()
    {
        this.InitializeComponent();
    }

    private void close_Click(object sender, RoutedEventArgs e)
    {
        Visibility = Visibility.Collapsed;
    }
}

Xaml 页面:

<Page>
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <local:MyUserControl1 x:Name="popUp"/>
        <Button Content="Open" Click="Open_Click"/>
    </Grid>
</Page>

C# 页面:

private void Open_Click(object sender, RoutedEventArgs e)
{
    popUp.Visibility = Visibility.Visible;
}

我认为问题在于可见性,但我需要它来显示和隐藏我的控件,我应该在我的用户控件中使用视觉状态吗?

最佳答案

现在我使用:

C# 用户控件(删除用户控件):

private void close_Click(object send, RoutedEventArg e)
{
    ((Panel)this.Parent).Children.Remove(this);
}

Xaml UserControl(我在这里设置转换)

<UserControl.Transitions>
    <TransitionCollection>
        <EdgeUIThemeTransition Edge="Botom"/>
    </TransitionCollection> 
</UserControl.Transitions>

c# 页面(创建用户控件):

MyUserControl cont = new MyUserControl();
MygridName.children.Add(cont);

关于c# - UWP 网格过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874975/

相关文章:

wpf - 无法使MVVM Light EventToCommand正常工作

c# - 属性更改时 UI 不更新

c# - 获取 UWP 应用程序文件夹中的所有文件

c# - 如何处理 ASP.NET 模块中的应用程序启动事件

c# - 异步/等待与手工制作的延续 : is ExecuteSynchronously cleverly used?

c# - 如何使用 RepeatBehaviour 停止 Storyboard ="Forever"

icons - UWP:应用程序栏/命令栏中的图标大小

c# - 如何在 C# 中创建我自己的 setup.exe 文件?

c# - 在 XNA 中重用游戏对象是否有意义?

xaml - 如果绑定(bind)在 Xamarin 中为 null,我将如何默认按钮的可见性为 false