#c# #.net #wpf
#c# #.net #wpf
Вопрос:
Я пытаюсь создать приложение WPF. Приложение должно выглядеть следующим образом.
Заголовок — верхняя левая кнопка «Новая запись» — справа вверху после этого есть таблица или что-то вроде этого. по три столбца на запись. В первом столбце имя, во втором текст и в третьем столбце кнопка.
Название, текст и кнопка должны отображаться и повторяться для каждого элемента в моем общем списке.
Как я могу это сделать? Есть ли элемент управления повторителем, как в WebForms? Могу ли я использовать ListView? Если да, то как я могу это настроить?
Буду признателен за любую помощь.
Спасибо!
Комментарии:
1. не могли бы вы переформатировать свой вопрос? Трудно понять, о чем вы хотите спросить. Если бы вы могли разработать функциональность, которую вы намереваетесь достичь, это упростило бы объяснение решения. WPF предоставляет шаблонное программирование, это может вам помочь.
2. У меня есть список серверов. Я хотел бы создать пользовательский интерфейс, который показывает список. Сервер объектов содержит имя и текст.
3. Графический интерфейс должен выглядеть следующим образом i.imgur.com/ghXoC.jpg
Ответ №1:
Что вам следует сделать, это создать DataGrid в xaml, привязать столбцы к вашим полям, а затем установить itemssource для этой таблицы данных:
<DataGrid
x:Name="ItemsDataGrid"
AutoGenerateColumns="False"
HeadersVisibility="Column"
ItemsSource="{Binding Path=YourDataCollection, Mode=OneWay}"
SelectionChanged="IfYouWantToDoSomethingHereHandler"
>
<DataGrid.Columns>
<DataGridTextColumn
Header="Name"
Binding="{Binding Path=NameFromYourDataObject, Mode=TwoWay}"
Width="Auto"
/>
<DataGridTextColumn
Header="DescriptionText"
Binding="{Binding Path=DescriptionFromYourDataObject, Mode=TwoWay}"
Width="Auto"
/>
<DataGridTemplateColumn
Header="ButtonColumn"
CellTemplate="{StaticResource ButtonTemplate}"
Width="Auto"
/>
</DataGrid.Columns>
</DataGrid>
Где ButtonTemplate — это DataTemplate:
<DataTemplate
x:Key="ButtonTemplate"
>
<Button
-- bind a command here of what the pressing of the button should look like
/>
</DataTemplate>
Все, что вам нужно сделать с этого момента, это создать DataObject, создать список или ObservableCollection («YourDataCollection»), заполнить его этими данными, а затем задать ItemsSource для ItemsDataGrid.
Так и должно быть .. ПРИВЕТ, Дэниел
Комментарии:
1. а также добавить шаблон заголовка для второго столбца, чтобы иметь кнопку «Новая запись» с командой для добавления новой записи в коллекцию, связанную с вышеуказанной сеткой данных.