相对或绝对路径混乱

时间:2011-12-10 10:20:56

标签: windows-phone-7 relative-path

我正在开发Windows Phone 7.1应用程序。

我有以下文件夹结构:

- Images (**folder**)
   |
   - appbar.questionmark.rest.png

- Views(**folder**)
   |
   - About.xaml

- MainPage.xaml

...

我正在尝试以编程方式创建一个应用栏:

private void SetUpAppBar()
    {
        // Set the page's ApplicationBar to a new instance of ApplicationBar.
        ApplicationBar = new ApplicationBar();

        // Create a new button and set the text value to the localized string from AppResources.
        ApplicationBarIconButton helpButton = new ApplicationBarIconButton(new Uri("..//Images//appbar.questionmark.rest.png", UriKind.Relative));
        helpButton.Text = AppResources.Help;
        helpButton.Click += new EventHandler(helpButton_Click);
        ApplicationBar.Buttons.Add(helpButton);

        // Create a new menu item with the localized string from AppResources.
        ApplicationBarMenuItem appBarHelpMenuItem = new ApplicationBarMenuItem(AppResources.Help);
        appBarHelpMenuItem.Click += new EventHandler(helpButton_Click);
        ApplicationBar.MenuItems.Add(appBarHelpMenuItem);
    }

但我看不到应用栏上的图标。我做错了什么?

我对此进行了测试:

ApplicationBarIconButton helpButton = new ApplicationBarIconButton(new Uri("..//Images//appbar.questionmark.rest.png", UriKind.Relative))

但是我得到了一个无效的路径异常。我也将UriKind改为Relative,Absolute和AbsoluteOrRelative。

appbar.questionmark.rest.png 标记为资源,复制到目录设置为“不复制”。

1 个答案:

答案 0 :(得分:0)

图片构建操作应该是内容。

ApplicationBarIconButton helpButton = new ApplicationBarIconButton(new Uri("/Images/appbar.questionmark.rest.png", UriKind.Relative));

试试这个我希望这会有效。:)

这就是MSDN describes how to add a button to the AppBar

的方式
ApplicationBarIconButton button1 = new ApplicationBarIconButton();
button1.IconUri = new Uri("/Images/YourImage.png", UriKind.Relative);
button1.Text = "button 1";
ApplicationBar.Buttons.Add(button1);

我认为您的问题是您的图片被设置为资源而不是内容。