Любой аналогичный элемент управления пользовательским интерфейсом 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. Возможно ли такое решение? Заранее спасибо!


person Jackson Ming Hu    schedule 16.03.2017    source источник


Ответы (2)


Вы можете использовать NSTableView

статическое содержимое: вы можете создавать ячейки из раскадровки и при необходимости изменять содержимое этих ячеек во время выполнения.

Динамический контент: вы можете создать ячейку шаблона во время разработки (или программно получить идентификатор), присвоить ей идентификатор и использовать эту ячейку несколько раз в табличный источник данных.

person PlusInfosys    schedule 16.03.2017
comment
UITableView только для iOS. NSTableVIew предназначен для Cocoa (вопрос имеет оба тега). - person Chris Hamons; 16.03.2017
comment
@ChrisHamons Спасибо за исправление. Сейчас исправил. - person PlusInfosys; 16.03.2017
comment
Это должно работать, хотя это кажется мне очень сложным. Все равно спасибо дружище. - person Jackson Ming Hu; 17.03.2017

Вы можете использовать что-то вроде табличного представления

Надеюсь это поможет.

Ссылка

person Pieter de Vries    schedule 16.03.2017
comment
Я бы не предлагал табличный вид. Я бы рекомендовал это только для представления статических данных. - person mindOfAi; 16.03.2017
comment
Если вы хотите использовать tableview, вот пример на C# — github.com/xamarin/ mac-образцы/дерево/мастер/ - person Chris Hamons; 16.03.2017