WPF Как использовать GridView для отображения матрицы - PullRequest
0 голосов
/ 25 июня 2019

Я новичок в программировании WPF и пытаюсь преобразовать свою программу на Python в приложение UWP просто для практики. Приложение может динамически создавать новые текстовые записи и метки, чтобы позволить пользователям вводить записи матриц.

Python Version

В настоящее время я застрял в том, как создать сетку для размещения этих текстовых записей и меток. Я думал, что правильным выбором будет использование gridView, но примеры, которые я видел, похоже, не помогают. Есть идеи, как это реализовать?

Это моя текущая попытка:

<GridView x:Name="gridView" Margin="0,150,0,0">
    <GridView.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

Я также пытаюсь получить доступ к атрибуту Columns gridView (System.Windows.Controls), но, похоже, я использую неправильный gridView (Windows.UI.Xaml.Controls). Но VS не может найти правильный gridView для меня, так как он не существует. Я очень запутался с GridView. Кто-нибудь может предоставить несколько указателей?

1 Ответ

0 голосов
/ 25 июня 2019

хорошо, так что я думаю, что ваш вопрос: WPF - How to bind a GridView to a Matrix или How to display a Matrix in WPF, если я правильно понял, что вы хотите, эта ссылка кажется хорошим решением вашей проблемы о том, как связать вашу матрицу с DataGrid.

Для этого вам необходимо:

  • создайте два списка ObservableCollection (или ObservableCollection в ваших ViewModel (Например, ListRows и ListColumns)
  • Когда вы редактируете свои текстовые поля, вы будете обновлять ListRows или ListColumns путем обновления соответствующей ObservableCollection

Таким образом, используя привязку, GridView автоматически обновится.

Но перед тем, как начать с него, вам понадобятся некоторые понятия с Binding, ViewModel, ObservableCollection и Converters

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