0

大家好,我是 Windows Mobile 的新手。我正在使用 LongListSelector。我有我的类 Menu.cs ,它具有以下 setter 和 getter :

   public Uri Picture
    {
        get { return picture; }
        set
        {
            if (value != picture)
            {
                picture = value;
                NotifyDataHasChanged("Picture");
            }
        }
    }

在我有 LongListSelector 的页面上:

this.menu.Add(new Menu() { Name = "ccc", Picture = new Uri("/Assets/GFX/menuHeaderCO3.png", UriKind.Relative) });

            longListMenuSlide.ItemsSource = menu;

和 XAML:

<phone:LongListSelector x:Name="longListMenuSlide" HorizontalAlignment="Left" Height="594" Margin="0,102,0,0" VerticalAlignment="Top" Width="370" Grid.RowSpan="2">
                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="0,0,0,0">
                            <Image Source="{Binding Picture}" Height="78" Width="370" 
                               HorizontalAlignment="Left" Stretch="UniformToFill"/>


                            </StackPanel>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>

它不工作..我看不到任何图像。但如果我对图像源进行硬编码:

<Image Source="/Assets/GFX/menuCO5.png" Height="78" Width="370" 
                               HorizontalAlignment="Left" Stretch="UniformToFill"/>

这行得通。有什么帮助吗?我是 Windows Mobile 的新手。

4

1 回答 1

0

仅供参考:将图片属性设置为字符串也可以,图像控件绑定应该解决这个问题。

您是否将图像“menuHeaderCO3.png”构建操作设置为“内容”?

如果这不起作用,请在控件上设置图像失败事件以查看您获得的调试信息并将消息附加到问题中

<Image ImageFailed="ImageFailed" Source="{Binding Picture}" />

C#

 private void ImageFailed(object sender, ExceptionRoutedEventArgs e)
    {
        MessageBox.Show(e.ErrorException.Message);
    }
于 2013-10-11T09:17:12.157 回答