0

MyCode:

<ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <Image Height="100" Width="105" Source="{Binding Icon}" VerticalAlignment="Top" OpacityMask="White" Stretch="Fill" />
                                <TextBlock Text="{Binding Name}" Style="{StaticResource PhoneTextSubtleStyle}"
                              Width="110" TextAlignment="Center"/>
                                <Image  Source="{Binding ImageSrc}" Height="20" Width="20"  VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,-50,15,0" Stretch="Fill"  />

                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>



    interestrates = (from rts in xmlDocu.Descendants("Friend")

                                     select new SampleCheckedData
                                     {

                                         Id = (string)rts.Element("userid"),
                                         Name = (string)rts.Element("name"),
                                         Icon = (string)rts.Element("imageurl"),
                                         VisibleStatus = (string)rts.Element("visiblestatus"),
                                         AppStatus = (string)rts.Element("loginstatus"),

                                     }).ToList<SampleCheckedData>();



                    this.lstImages.ItemsSource = interestrates;

名前とアイコンを適切にバインドできますが、Imagesrcイメージをvisiblestatus、Appstatusブースがtrueであるかのように設定する必要があります。次に、あるタイプのイメージをバインドする必要があります。それ以外の場合は、コードを介して別のタイプのイメージをバインドする必要があります。これを実現するにはどうすればよいですか。

4

2 に答える 2

0

@ josemiguel.torresに追加するだけで、image.SourceのタイプはImageSourceであるため、URIを返す代わりに、次のようにします。

return new BitmapImage(new Uri(this.Icon, UriKind.Absolute));
于 2012-06-13T21:50:37.557 に答える