2

すべての ListView 要素の後に画像を表示したいのですが、もちろん他の画像は任意の要素です。したがって、最初の ListView アイテムの場合は image_1.png、2 番目の ListView アイテムの場合は image_2.png などです。

<ListView x:Name="listView">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <!-- IMAGE IS HERE -->
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
</ListView>

編集 (1):

私はすべてを試しましたが、うまくいきません.私のコードは今:

モデルクラス:

public ImageSource image { get; set; }

ページクラス:

BitmapImage bi = new 
bi.UriSource = new Uri("ms-appx:///Logos/x.png");
c.image = bi;

XAML ファイル:

<Image Source="{Binding Source=image}"></Image>

なぜ機能しないのですか?

4

2 に答える 2

2

次のように、コレクション内のアイテムにバインドできます。

<Window x:Class="WpfApplication6.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" Name="UI">
    <Grid>
        <ListView ItemsSource="{Binding ElementName=UI,Path=YourCollection}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Width="200" Height="200">
                        <Image Source="{Binding Image}"/>
                        <TextBlock Text="{Binding Title}"/>
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </Grid>
 </Window>

仮説クラス/リスト

 /// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    private ObservableCollection<MyListItem> _yourCollection = new ObservableCollection<MyListItem>();

    public MainWindow()
    {
        InitializeComponent();
        YourCollection.Add(new MyListItem { Title = "Item 1", Image = new BitmapImage(new Uri("C:\\Users\\Dev\\Pictures\\Picture1.PNG", UriKind.RelativeOrAbsolute)) });
        YourCollection.Add(new MyListItem { Title = "Item 2", Image = new BitmapImage(new Uri("C:\\Users\\Dev\\Pictures\\Picture2.PNG", UriKind.RelativeOrAbsolute)) });
    }

    public ObservableCollection<MyListItem> YourCollection
    {
        get { return _yourCollection; }
        set { _yourCollection = value; }
    }
}

public class MyListItem
{
    public string Title { get; set; }
    public BitmapImage Image { get; set; }
}
于 2012-11-26T02:14:18.017 に答える
1

私は自分の質問に答えることができると思います.私は解決策を見つけました

Image image = new Image();
image.Source = new BitmapImage(new Uri(@"ms-appx:/Assets/Logos/x.png"));

<Image Source="{Binding Path=image.Source.UriSource.AbsolutePath}" Width="55" Height="40"/>
于 2012-11-29T23:59:34.177 に答える