Перетаскивание UWP на форматированный текст - PullRequest
0 голосов
/ 15 марта 2019

В моем приложении uwp я собираюсь попросить пользователя составить осмысленное предложение из большого количества слов:

Например, когда пользователь открывает приложение, он / она увидит:

"search stackoverflow place great a is help for"

И после этого пользователю необходимо перетащить каждое слово в правильную позицию, чтобы составить осмысленное предложение из заданных слов, а именно:

"stackoverflow - отличное место для поиска помощи"

Также имейте в виду, что текст должен быть выровнен по центру .

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

Но в тот момент у меня возникла проблема.

2 текст с линиейдолжен выглядеть так:

------------------
      -------

Но на данный момент это выглядит так:

-----------------
---------

Я знаю, это потому, что gridview.Но я не знаю, на данный момент, чтобы преодолеть эту проблему.Любая идея будет оценена.

Спасибо.

Редактировать:

.xaml:

<StackPanel 
        x:Name="stack_panel1" 
        Margin="50" 
        Orientation="Vertical"
        Background="AliceBlue"
        Padding="50"
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        >

        <GridView x:Name="GridView1"
                  AllowDrop="True"
                  CanDragItems="True"
                  CanReorderItems="True"
                  Background="PaleGoldenrod"
                  Width="500"
                  Height="500">
            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <ItemsWrapGrid Orientation="Horizontal" MaximumRowsOrColumns="5"></ItemsWrapGrid>
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>
        </GridView>

    </StackPanel>

.cs:

public sealed partial class DragDropDemo : Page
    {
        ObservableCollection<string> collection = new ObservableCollection<string>();

        public DragDropDemo()
        {
            this.InitializeComponent();

            collection.Add("seek");
            collection.Add("stackoverflow");
            collection.Add("place");
            collection.Add("great");
            collection.Add("a");
            collection.Add("is");
            collection.Add("help");
            collection.Add("for");

            GridView1.ItemsSource = collection;

        }

    }

Примечание. Под словом «текст следует выровнять по центру» я не имел в виду центрирование одного элемента в одной ячейке:

Дляпример:

Предположим, у нас есть сетка с максимальным количеством столбцов для каждой строки, равным 5, и наше предложение снова:

"stackoverflow - отличное место для поиска помощи" *

На данный момент это выглядит так:

stackoverflow is a great place
to seek for help

Но вместо этого я хочу, чтобы это выглядело так:

stackoverflow is a great place
      to seek for help

1 Ответ

0 голосов
/ 18 марта 2019

Я не видел ваш код xaml, но я сделал простой пример кода, чтобы показать вам, как сделать многострочный текст по центру.

<GridView>
        <GridViewItem Width="300">
            <TextBlock TextAlignment="Center" TextWrapping="WrapWholeWords">Also please keep in mind that, text should be aligned center.</TextBlock>
        </GridViewItem>
</GridView>

enter image description here

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