WPF ListView, который поддерживает встроенное редактирование? - PullRequest
0 голосов
/ 15 декабря 2010

Существует ли элемент управления WPF с открытым исходным кодом, который выглядит как ListView и поддерживает встроенное редактирование?Точнее говоря, ячейка в ListView должна быть редактируемой при двойном щелчке по ней, и результат редактирования должен автоматически сохраняться, если после этого вы не нажмете ESC.

1 Ответ

3 голосов
/ 15 декабря 2010

Я не знаю ни одного элемента управления WPF, который делает то, что вы ищете, но это не означает, что они не существуют. Если вы извлечете WPF Toolkit на Codeplex , вы можете найти что-то, и существует множество проектов OSS для элементов управления WPF на Codeplex в дополнение к инструментарию.

Вы можете очень легко создать одну из них, используя преимущества модели управления контентом WPF. Вот пример ListBox с набором элементов управления, используемых для представления объектов, привязанных к списку.

<ListBox x:Name="sampleListBox" 
         Width="500">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <GridRowDefinitions>
                   <RowDefinition Height="25"/>
                   <RowDefinition Height="25"/> 
                </GridRowDefinitions>
                <TextBox Grid.Row="0" Source="{Binding EditableProperty1}}"/>
                <TextBox Grid.Row="1" Source="{Binding EditableProperty2}"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Вы можете управлять возможностью редактирования элементов управления с помощью стилей, чтобы при выборе элемента ListBox внутренние элементы управления были редактируемыми, а в противном случае - нет. У меня нет доступа к моему рабочему ноутбуку, поэтому я не могу привести пример стиля, но в Интернете есть много материалов, которые могут вам помочь. И если у вас есть Expression Blend 4, он обладает множеством функциональных возможностей, которые действительно могут вам помочь, когда вы создаете собственные элементы управления.

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