1

我开始为 WP8 开发一些应用程序,我有一个问题。所以这就是我想要做的:在 xaml 主页文件上创建一个新按钮。当点击=“butt1_Click”显示一个新的消息框或类似的东西(可能是一个新的StackPanel)时,它将包含:

第 1 项,第 2 项,第 3 项.. 我将尝试在 xaml 中解释这一点,如果有人可以转换 C# 中的代码..

    <Hyperlink 
Content="Item 1" Name="HyperlinkImage"
FontSize="18" Width="175" Height="75" 
Margin="140,350,140,185" NavigateUri="/Assets/myimage.png/"/>

我将用 HTML 解释这一点,也许这样有人会理解我想要做什么:

<a href="/Assets/myimage.png/"> Item 1 </a>

多谢!

这里有一张关于我想做的事情的小图片:http: //img12.imageshack.us/img12/5769/zylk.jpg

4

1 回答 1

1

尝试这样的事情:

在 MainPage.xaml 添加:

<StackPanel>
    <Button Content="Image 1" Tag="/Assets/AlignmentGrid.png" Click="ImageButtonClicked" />
    <Button Content="Image 2" Tag="/Assets/ApplicationIcon.png" Click="ImageButtonClicked" />
    <Button Content="Image 3" Tag="/Assets/Tiles/FlipCycleTileMedium.png" Click="ImageButtonClicked" />
</StackPanel>

(请注意,所有按钮都有相同的事件处理程序)

在 MainPage.xaml.cs 添加:

private void ImageButtonClicked(object sender, RoutedEventArgs e)
{
    NavigationService.Navigate(
        new Uri("/ImagePage.xaml?path=" + 
                HttpUtility.UrlEncode((sender as Button).Tag.ToString()),
                UriKind.Relative));
}

添加页面 ImagePage.xaml 并向其中添加以下内容:

<Image x:Name="TheImage" />

然后在 ImagePage.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    string path = "";

    if (NavigationContext.QueryString.TryGetValue("path", out path))
    {
        if (!string.IsNullOrWhiteSpace(path))
        {
            this.TheImage.Source =
                new BitmapImage(new Uri(path, UriKind.RelativeOrAbsolute));
        }
    }
}

这使您可以在 XAML 中定义单击按钮时要在单独页面上显示的图像。
希望这可以帮助。

于 2013-10-16T14:40:50.183 回答