none
求win8自带软件财经的一个效果 RRS feed

  • 问题

  • 步骤如下:

    1.进入财经软件

    2.找到关注列表,并选中一个item,此时会出现底部菜单栏

    3.点击固定,此时会调出一个框,

    求这个框是如何实现的,根据观察,这个框有几个特点,首先弹出来的时候底部菜单栏不消失,其次点击屏幕任何地方此框消失。

    我尝试过用rectangle盖住整个界面,再在上面增加内容,用visible隐藏,但是当rectangle出现时会导致菜单栏消失(菜单栏已经设置属性isticky=true)

    也尝试过popup来做动画,也会导致菜单栏消失,我感觉是不是系统自带的某个东西做出来的特效?

    2012年8月16日 10:46

答案

  • 用PopupMenu做:

        <Page.BottomAppBar>
            <AppBar>
                <StackPanel Orientation="Horizontal">
                    <Button Content="Show" Click="Button_Click_1"/>
                </StackPanel>
            </AppBar>
        </Page.BottomAppBar>

    C#:

            public static Rect GetElementRect(FrameworkElement element)
            {
                GeneralTransform buttonTransform = element.TransformToVisual(null);
                Point point = buttonTransform.TransformPoint(new Point());
                return new Rect(point, new Size(element.ActualWidth, element.ActualHeight));
            }
            private async void Button_Click_1(object sender, RoutedEventArgs e)
            {
                var menu = new PopupMenu();
                menu.Commands.Add(new UICommand("AAAA", (command) =>
                {
                }));
                menu.Commands.Add(new UICommand("BBBB", (command) =>
                {
                }));
                var chosenCommand = await menu.ShowForSelectionAsync(GetElementRect((FrameworkElement)sender));            
            }


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月20日 8:47
    版主

全部回复