WPF динамически добавляет строки TextBoxes в Grid layout - PullRequest
0 голосов
/ 10 июня 2011

У меня есть окно в WPF, которое содержит Grid. Grid изначально имеет одну строку и TextBox в этой строке. Когда пользователь нажимает Button, я должен добавить строку в сетку с другим TextBox. Хотя это кажется выполнимым, мне нужно, чтобы сетка была прокручиваемой, когда строки превышают высоту сетки. (Это похоже на то, как вы добавляете вложения в электронное письмо. Вы добавляете одно, а затем говорите добавить еще одно ... и этот список можно продолжить). Я иду по этому пути правильно или есть лучший способ сделать это?

1 Ответ

1 голос
/ 10 июня 2011

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

Вот как я это сделаю. На мой взгляд модели:

public class AttachmentInfo : ViewModel
{
    public string Path { get/set omitted }
}

public class EmailInfo : ViewModel
{
    public ICollection<AttachmentInfo> Attachments { get omitted }

    public ICommand AddAttachmentCommand { get omitted }

    // logic for adding attachment simply adds another item to Attachments collection
}

На мой взгляд, что-то вроде этого:

<ScrollViewer>
    <ItemsControl ItemsSource="{Binding Attachments}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <TextBox Text="{Binding Path}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</ScrollViewer>
<Button Command="{Binding AddAttachmentCommand}">Add</Button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...