XAML:Невозможно получить текст из текстового поля в виде списка
<ListView.View>
<GridView x:Name="myGridView">
<GridViewColumn Width="0" DisplayMemberBinding="{Binding Id}">
<GridViewColumnHeader Content="Id" IsHitTestVisible="False" />
</GridViewColumn>
<GridViewColumn Width="50" Header="Cant">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox FontSize="11" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="300" Header="Nombre" DisplayMemberBinding="{Binding Nombre}" />
</GridView>
</ListView.View>
C# код для заполнения MyListView с элементами из другого ListView:
private void myListView_Drop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("myFormat"))
{
foreach (var item in e.Data.GetData("myFormat") as Dictionary<string, string>)
{
var itemC = new {Id = item.Key, Cant = "", Nombre = item.Value};
myListView.Items.Add(itemC);
myListView.SelectedItem = itemC;
}
}
}
C# код для извлечения элементов из MyListView:
После заполнения myListView пользователи могут писать числа в каждом текстовом поле столбца «Cant», но позже, когда butto n, и вызывается GenerateArts(), эти числа теряются, т. е. item.Cant является «" (пустая строка) для каждого элемента.
В чем проблема?
Edit:
Когда GenerateArts() вызывается значения для item.Nombre и item-id будут там, как и ожидалось. Проблема с item.Cant.
Спасибо Ананд. Я пробовал это раньше, но когда элементы из другого списка исключены в myListView, я получаю (много раз) это исключение: привязка TwoWay или OneWayToSource не может работать с единственным доступным только для чтения свойством «Cant» типа «<> f_AnonymousType2'3 [System.String, System.String, System.String]. Даже если я перетаскиваю только предмет. –
Запустил ваш код, и я тоже получил исключение. Вместо того, чтобы создавать анонимный класс со свойствами, не можете ли вы определить сам класс? –
Я отредактировал свой ответ. –