Можно ли сделать редактируемым список, построенный на котроле ListView/GridView?
Редактируемый ListView в WPF
1
Спросил
Новые ответы
Новые
Лучшие
2
Если изучить все существующие способы реализации редактируемости ячеек ListView, то складывается впечатление, что все такие решения больше похожи на «хаки» и не совсем укладываются в саму парадигму WPF. Так что, возможно, лучше отказаться от использования in-place редактора в этом случае. В качестве альтернативы можно предложить редактирование в отдельной панели или в модальном окне.
1
0
Посмотри вот это к примеру:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Xml Data Binding" FontSize="20"
>
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style x:Key="{x:Type ListBoxItem}" TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Grid>
<ContentPresenter />
<TextBox Name="EditableText" Visibility="Collapsed"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="EditableText" Property="Visibility" Value="Visible" />
<Setter TargetName="EditableText" Property="Text" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</StackPanel.Resources>
<ListBox Width="100" Height="155">
<ListBoxItem>Item 1</ListBoxItem>
<ListBoxItem>Item 2</ListBoxItem>
<ListBoxItem>Item 3</ListBoxItem>
</ListBox>
<ListBox Width="100" Height="155">
<ListBoxItem>Item 1</ListBoxItem>
<ListBoxItem>Item 2</ListBoxItem>
<ListBoxItem>Item 3</ListBoxItem>
</ListBox>
</StackPanel>
</Page>
Как-то это все не тривиально на первый взгляд. Мне кажется или в статье не полностью рабочий код приводится?
Похоже рабочий пример этого кода выложен на странице ListView with Editing Capability Sample. Вот прямая ссылка на архив с исходниками. Однако, попробовав запустить это приложение, можно увидеть, что редактирование работает не совсем правильно...