Любой подобный элемент управления "ListView" в Xamarin.Mac?
Я планирую разработать приложение для загрузки нескольких файлов (аналогично IDM или Transmission) для macOS на основе Aria2 JSON-RPC и C# GUI через Xamarin.Mac. Но есть большая проблема для дизайна пользовательского интерфейса. Мне нужен элемент управления пользовательского интерфейса, который похож на "ListView" в XAML.
По сути, это что-то вроде обсуждаемой темы, т.е. мне нужно что-то эквивалентное в Xamarin.Mac с этим кодом XAML ниже:
<ListView x:Name="DownloadItemList">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding DownloadItemTitle}"
Margin="20,0,20,8"
FontSize="24"
FontStyle="Italic"
FontWeight="SemiBold"
Foreground="DarkBlue" />
<TextBlock Text="{Binding DownloadProgressInfo}"
Margin="20,0,20,8"
FontSize="16"
Foreground="DarkGray"
Opacity="0.8" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Мне также нужны некоторые привязки данных в коде пользовательского интерфейса, если это возможно. Но пока я не могу найти ничего подобного в Xamarin.Mac. Есть ли какое-либо возможное решение, как это? Заранее спасибо!
2 ответа
Вы можете использовать NSTableView
Статическое содержимое. Вы можете создавать ячейки из раскадровки и при необходимости изменять содержимое этих ячеек во время выполнения.
Динамическое содержимое: вы можете создать ячейку шаблона во время разработки (или запрограммировать идентификатор), присвоить ему идентификатор и многократно использовать эту ячейку в tableviewd atasource.