繁体   English   中英

快照视图中的VisualStateManager打开页面

[英]VisualStateManager Open Page in Snapped View

我正在使用C#和Xaml开发Windows 8 Metro风格的应用程序。 我得到了一个以联合项目为数据源的联合新闻提要网格。 当我单击一个项目时,我希望页面的视图状态被捕捉,并使浏览器控件处于填充视图状态,以便我的应用程序捕捉到320的宽度,并在浏览器控件1024填充的viewstae中打开网站。

我正在使用以下代码块。 页面正确对齐,但应用程序未对齐。 我该怎么做才能实现我的目标,即对应用程序进行快照的填充+快照合并和浏览器控件的填充。

这是我正在使用的代码:

    private async void ItemView_ItemClick(object sender, ItemClickEventArgs e)
    {
        FeedItem feedItem = (FeedItem)e.ClickedItem;
        feedItem.Read = true;
        ListView lv = e.OriginalSource as ListView;

        if (lv.SelectedItem != null)
        {
            ListViewItem li = lv.SelectedItem as ListViewItem;
            if (li != null) li.Template = Application.Current.Resources["ReadStandard80ItemTemplate"] as ControlTemplate;
        }

        //this.ApplicationViewStates.
        this.Width = 320;

        this.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Right;
        var CurrentViewState = Windows.UI.ViewManagement.ApplicationView.Value;

        this.MainFramne.Width = 320;

        VisualStateManager.GoToState(this.MainFramne, "Snapped", false);
        Snapped.Storyboard.Begin();


        await Windows.System.Launcher.LaunchUriAsync(new Uri(feedItem.Link.ToString()));
        var test = Windows.UI.ViewManagement.ApplicationView.Value;

    }

您无法以编程方式更改任何Windows Store应用程序的捕捉/填充/最大化状态。 它只能响应用户启动的请求来完成。 (这样做是为了防止应用程序进行欺骗或以其他方式进行恶意行为。)

如果它处于最大化视图中,并且如果您已经处于快照视图中,那么您可能需要考虑在应用程序中托管浏览器实例(WebView),然后启动外部浏览器(希望它会充满)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM