Вы должны создать ItemsControl
, чтобы показать, что вы хотите, это может быть подход:
<ItemsControl
ItemsSource="{Binding YourListOfLinkObject}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding WhateverYouWantToShow}"
Command="{Binding YourCommand} "
CommandParameter="{Binding YourFileName}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Вам следует создать новый (если он еще не создан) класс с именем файла, содержимым, которое вы хотите отобразить в кнопке, и вашей командой. А при инициализации представления создайте список объекта «Ссылка».
Команда будет одинаковой для всех из них, просто объявите ее в общем виде, чтобы открыть файл, который вы положили в CommandParameter
Теперь, когда я знаю, что вы используете MVVM, я постараюсь расширить фокус моего ответа на этом.
Вам нужен класс, который я назову FileLink
. FileLink
будет иметь, как минимум, 3 свойства:
- публичная строка WhwhatYouWantToShow - это будет содержимое вашей кнопки
- public ICommand YourCommand - Это будет
DelegateCommand<string>
, который будет тем, кто «делает» вещи. Эта команда будет одинаковой для каждого элемента, который вы создаете. Вам нужен только один, потому что вы будете использовать параметр для запуска / открытия того или иного файла.
- public string YourFileName - это будет строка, необходимая для выполнения вашего командного метода. Я предполагаю, что это будет путь или имя файла.
Теперь, когда мы создали этот класс, при инициализации третьего вида, с кнопками, у вас будет свойство ObservableCollection
, которое я назвал YourListOfLinkObject
, из FileLink
объектов. Там вам нужно будет добавить столько FileLink
объектов, сколько вы получили из базы данных, и они будут отображены.
Если вам нужно изменить способ их отображения, вам просто нужно изменить DataTemplate
.
Если что-то я не смог объяснить снова или вы хотите, чтобы я пошел дальше, просто дайте мне знать:)