Какой вид управления мне нужен для вертикального отображения List <CustomObject>с CustomTemplate? - PullRequest
1 голос
/ 05 мая 2011

Допустим, у меня есть List<MyObject>, в котором хранится

class MyObject
{
  public String Headline {get;set;}
  public DateTime MyDate {get;set;}
}

. Я хочу отобразить каждый MyObject в вертикальном порядке, чтобы он выглядел как запись в списке с закругленными угламии значения записываются поверх фонового изображения.

Я нагуглил две картинки того, что выглядит близко к тому, какой вид управления дисплеем я хочу иметь: http://assets.gearlive.com/blogimages/gallery/sonos-iphone-app/sonos-iphone-zone-menu_medium.jpg
http://iconfactory.com/twitterrific_touch/images/screenshot_list.png

Какой контроль я могу использовать для этого?Это как Repeater / ListView с пользовательским шаблоном.(Предположим, у меня нет графических навыков. Как я могу создать прямоугольник с закругленными углами и цветным градиентом в качестве фона?)

(я новичок в WPF)

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Если вы не хотите выбирать, выберите ItemsControl. В противном случае используйте ListBox.

ListBox наследуется от Selector, который наследуется от ItemsControl и добавляет функциональность выбора.

XAML:

<ItemsControl Name="ItemsControl1">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="<Binding Headline}" />
                <TextBlock Text="<Binding MyDate}" />
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Код:

ItemsControl1.ItemsSource = ListOfMyObjects;
1 голос
/ 05 мая 2011

Вы, вероятно, должны использовать ListBox. затем сделайте DataTemplate для вашего типа объекта - вот хорошее объяснение DataTemplates . Вы также должны сделать MyObject производным от INotifyPropertyChanged, чтобы при изменении значения объекта он автоматически обновлял ваш пользовательский интерфейс. Еще одна вещь, вам, вероятно, следует изменить с List<MyObject> на ObservableCollection<MyObject>, чтобы ListBox автоматически обновлялся при добавлении / удалении элементов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...