Здравствуйте, пишу приложение на WPF. Пытаюсь добавлять в DataGrid записи, но они дублируют столбцы и сама таблица после их добавления не обновляется, хотя dg.ItemsSource.Count изменяется.
в разметке:
<DataGrid x:Name="dg" Margin="10,30,0,0" RenderTransformOrigin="2.583,2.231" HorizontalAlignment="Left" VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Image">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Image}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding Text}" Header="Text" MaxWidth="100"/>
<DataGridHyperlinkColumn Binding="{Binding Link}" Header="Link"/>
</DataGrid.Columns>
</DataGrid>
Класс элементов DG:
class Post
{
public string Text
{
get;
set;
}
public string Link
{
get;
set;
}
public ImageSource Image
{
get;
set;
}
}
Использование в коде:
private void button_Click(object sender, RoutedEventArgs e)
{
if (dg.Items.Count == 0)
{
ImageSource img = new BitmapImage(new Uri("Images/web.ico", UriKind.Relative));
posts.Add(new Post { Image = img, Link = "http://vk.com/id02", Text = "Some adds1" });
dg.ItemsSource = posts;
}
else
{
AddPost();
}
}
private void AddPost()
{
MessageBox.Show(dg.Items.Count.ToString());
ImageSource img = new BitmapImage(new Uri("Images/web.ico", UriKind.Relative));
posts.Add(new Post { Image = img, Link = "http://vk.com/id02", Text = "Some adds1" });
posts.Add(new Post { Image = img, Link = "http://vk.com/id01", Text = "Some adds2" });
posts.Add(new Post { Image = img, Link = "http://vk.com/id03", Text = "Some adds3" });
}
В общем чтобы убрать дублирование отключаем AutoGenerateColumns в DataGrid, для обновления записей надо использовать ObservableCollection, а не List.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть приложение на wpf, которое достаточно долго пингует ряд ip-шниковЗахотелось установить ProgressBar
Могу ли я каким то образом, запустив httpListener по префиксу "http://+:8080", после этого послать на него запрос? Или же символы юникода нельзя использовать...