【问题标题】:Open a wpf Page using Path/URI使用路径/URI 打开一个 wpf 页面
【发布时间】:2015-12-09 05:37:50
【问题描述】:

我想做这样的事情:

var iFrame = new Frame();
var iPage = new Page(new Uri("/Views/MyPage.xaml", UriKind.Relative));
//                              ^ this must be the parameter on creating the page

iFrame.Content = iView;
tabCtrl.Content = iFrame;

其中,我想使用路径打开页面,而不是实例化页面本身,这在功能上是正确的,如下所示:

var iFrame = new Frame();
var iPage = new MyPage();

iFrame.Content = iView;
tabCtrl.Content = iFrame;

我的想法是为存储在数据库中的页面使用维护路径。 有什么想法吗?

【问题讨论】:

  • 使用用户控件代替页面怎么样?这样您就可以将它的对象直接添加到选项卡式控件中,
  • 请详细说明?我需要将路径作为参数。
  • 谢谢@pushpraj,但我正在寻找类似如何使用该 URI 实例化现有页面然后将其添加为内容/
  • 您是否遇到任何类型的错误?看起来您可能需要转义“/”,即@"/Views/MyPage.xaml" 或 `"//Views//MyPage.xaml",

标签: c# wpf


【解决方案1】:

这样的?

    System.Uri resource =  new System.Uri(@"Views\MyPage.xaml", System.UriKind.RelativeOrAbsolute);
    Something.Content = System.Windows.Application.LoadComponent(resource);

【讨论】:

    【解决方案2】:

    myUserControl.xaml成为用户控件,然后你可以像下面这样将该用户控件添加到选项卡项中;

    myUserControl myUserControlObject= new myUserControl();
    tabCtrl.Content=myUserControlObject;
    

    并且您必须导入 myUserControl 类,例如:using project.Views,因为它属于视图命名空间。检查是否可以这样添加页面

    【讨论】:

    • 是的,但我需要使用我的示例中的路径创建这个 myUserControl。
    猜你喜欢
    • 2021-06-26
    • 2014-08-29
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多