2010-04-03 4 views
1

Так что я переплетен List к ListView где List имеет элементы типа Album, где она имеет множество свойств, включая .Cover, что я это изображение на диске. Ну, так как я не знаю, какой тип изображения нужен и как он должен быть загружен (я знаю только использование типов изображений для Winforms), я еще не знаю тип.Показаны элементы, как изображения в ListView WPF

Может ли кто-нибудь показать или отправить мне быстрый образец, где он показывает такие предметы, которые отображаются как изображения определенного фиксированного размера, используя их свойство .Cover?

В сущности это покажет:

  1. Какой тип .Cover должен быть
  2. Как открыть изображения с диска для WPF (предполагая, что он отличается от Winforms загрузки изображений)
  3. Как показать их на ListView в образах определенного фиксированного размера, масштабирование изображения при необходимости

ответ

6
  1. ImageSource
  2. ImageSource myImageSource = новый BitmapImage (новый Uri (@ "файл: // C: ... something.jpg"));
  3. Укажите шаблон данных для элементов в ItemTemplate имущества ListView в:

    <Window.Resources> 
        <DataTemplate x:Key="ItemTemplate"> 
         <StackPanel Orientation="Horizontal"> 
          <Image Width="10" Height="10" Stretch="Fill" Source="{Binding Cover}"/> 
         <Label Content="{Binding Title}" /> 
         </StackPanel> 
        </DataTemplate> 
    </Window.Resources> 
    
    <Grid x:Name="grid"> 
        <ListView ItemTemplate="{StaticResource ItemTemplate}" ItemsSource="{Binding Albums}" /> 
    </Grid> 
    
+1

Обратите внимание, что изображение также может быть получено из ресурса, оно не должно поступать непосредственно с диска. (Ресурс может быть частью текущей исполняющей сборки или может быть в отдельной ссылочной сборке). Это может быть даже URL-адрес веб-адреса. – slugster

+0

Спасибо slugster, как вы это делаете? –

2

В XAML вы бы определить DataTemplate в вашем Listview's ItemTemplate, который использует Image, привязывая его к свойству Source пути к файлу sysem.

Другими словами, Cover может быть типа string, путь к файлу. Если вы хотите масштабировать, довольно простой способ - это ViewBox, который масштабирует все, что он содержит. Тем не менее, у самого изображения есть варианты для масштабирования.

+0

Спасибо, пожалуйста, вы можете показать мне пример кода. Я не знаю ViewBox или привязку изображения. –