0

データベースの画像がウィンドウ フォンに表示されませんでした。リストで EmpNo しか取得できませんが、リストボックスに画像が表示されませんでした。私のコーディングに問題はありますか?

MainPage.xaml での私のコーディングは

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Grid.Resources>
            <src:ImageConverter x:Key="imgConverter"/>
        </Grid.Resources>
        <ListBox Height="650" HorizontalAlignment="Left" Margin="11,17,0,0" Name="listBox1" VerticalAlignment="Top" Width="434" >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding EmpNo}"/>
                        <Image Grid.Column="1" Grid.Row="4" Height="136" HorizontalAlignment="Left"
               Margin="16,16,0,0" Name="imgEmp" Stretch="Fill"
               VerticalAlignment="Top" Width="200"
                Source="{Binding EmpImage}"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
 </Grid>

mainpage.xaml.cs での私のコーディングは

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
        Service1Client svc = new Service1Client();
        svc.GetAllModelsCompleted += new EventHandler<GetAllModelsCompletedEventArgs>(svc_GetAllModelsCompleted);
        svc.GetAllModelsAsync();
    }

    void svc_GetAllModelsCompleted(object sender, GetAllModelsCompletedEventArgs e)
    {
        listBox1.ItemsSource = e.Result;
    }
}
public class ImageConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        var memStream = new MemoryStream((byte[])value);
        memStream.Seek(0, SeekOrigin.Begin);
        var empImage = new BitmapImage();
        empImage.CreateOptions = BitmapCreateOptions.None;
        empImage.SetSource(memStream);
        return empImage;
    }
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
  }
4

1 に答える 1

0

コンバーターを適用してみてください:

Source="{Binding EmpImage, Converter={StaticResource imgConverter}}"
于 2012-06-13T08:55:59.333 に答える