ObservableCollection集合绑定问题

Glenn-Cui 2012-08-06 03:10:16
绑定 了DataGrid 删除时 数据删除了但DataGrid不能更新
 ObservableCollection<InternalUsersArticleTb> article = new ObservableCollection<InternalUsersArticleTb>();
InternalUsersArticleTb iarticle = null;
public ObservableCollection<InternalUsersArticleTb> GetPopulation(String Condition)
{
MainDataGrid.ItemsSource = null;
dataPager1.Source = null;
var list = new ObservableCollection<InternalUsersArticleTb>();
TextReader txtReader = new StringReader(Condition);
XElement doc = XElement.Load(txtReader);
var ban = (from el in doc.Elements()
select new InternalUsersArticleTb
{
ArticleID = el.Element("ArticleID").Value.Trim(),
ArticleTitle = el.Element("ArticleTitle").Value.Trim(),
ArticleContent = cleanString(el.Element("ArticleContent").Value.Trim().Length < 20 ? el.Element("ArticleContent").Value.Trim() : el.Element("ArticleContent").Value.Trim().Substring(0, 20)).Trim().ToString() + "...",
PublishDate = DateTime.Parse(el.Element("PublishDate").Value),
CollectionDate = DateTime.Parse(el.Element("CollectionDate").Value),
ArticleSource = el.Element("ArticleSource").Value.Trim(),
ArticleUrl = el.Element("ArticleUrl").Value.Trim(),
Author = el.Element("Author").Value.Trim(),
MediaAddress = el.Element("MediaAddress").Value.Trim(),
Score = el.Element("Score").Value.Trim(),
ArticlesCategoryText = el.Element("ArticlesCategoryText").Value.Trim(),
IsEnabled = el.Element("IsEnabled").Value.Trim(),
IsAllowReview = el.Element("IsAllowReview").Value.Trim()

}
);

return new ObservableCollection<InternalUsersArticleTb>(ban.ToList());
}

iarticle = this.MainDataGrid.SelectedItem as FloatingWindowControl.InternalUsersArticleTb;
article.Remove(iarticle);

 <data:DataGrid x:Name="MainDataGrid" SelectionChanged="MainDataGrid_SelectionChanged"  AutoGenerateColumns="False" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}" Style="{StaticResource Summary_DataGridStyle}" RowStyle="{StaticResource DataGridRowStyle}" BorderBrush="{x:Null}" VerticalGridLinesBrush="{x:Null}" AlternatingRowBackground="Transparent" HorizontalGridLinesBrush="{x:Null}" RowBackground="#AAE0E0E0" GridLinesVisibility="None" Foreground="#FF5A5A5A" CellStyle="{StaticResource DataGridCellStyle3}">
<data:DataGrid.Columns>
<data:DataGridTextColumn Binding="{Binding ArticleID, Mode=TwoWay}" Header="ID" Width="0.2*" CellStyle="{StaticResource DataGridCellStyle2}" EditingElementStyle="{StaticResource Column-TextBoxStyle}"/>
<data:DataGridTextColumn Binding="{Binding ArticleTitle, Mode=TwoWay}" Header="标题" Width="0.6*"/>
<data:DataGridTextColumn Binding="{Binding ArticleContent, Mode=TwoWay}" Header="内容" Width="1.0*"/>
<data:DataGridTextColumn Binding="{Binding PublishDate, Mode=TwoWay}" Header="发布时间" Width="0.4*"/>
<data:DataGridTextColumn Binding="{Binding ArticleSource, Mode=TwoWay}" Header="文章来源" Width="0.3*"/>
<data:DataGridTextColumn Binding="{Binding ArticleUrl, Mode=TwoWay}" Header="文章地址" Width="0.4*"/>
<data:DataGridTextColumn Binding="{Binding Author, Mode=TwoWay}" Header="作者" Width="0.2*"/>
<data:DataGridTextColumn Binding="{Binding MediaAddress, Mode=TwoWay}" Header="媒体地址" Width="0.35*"/>
<data:DataGridTextColumn Binding="{Binding Score, Mode=TwoWay}" Header="评分" Width="0.2*"/>
<data:DataGridTextColumn Binding="{Binding ArticlesCategoryText, Mode=TwoWay}" Header="分类" Width="0.3*"/>
<data:DataGridTextColumn Binding="{Binding IsEnabled, Mode=TwoWay}" Header="是否启用" Width="0.3*"/>
<data:DataGridTextColumn Binding="{Binding IsAllowReview, Mode=TwoWay}" Header="是否评论" Width="0.6*"/>
</data:DataGrid.Columns>
</data:DataGrid>
...全文
257 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Glenn-Cui 2012-08-06
  • 打赏
  • 举报
回复
谢谢 你的回复 。 哈哈 我知道为什么错了。操作的不是一个集合 。 这个ban是list集合 我把它转换了 。就可以了。。哈哈
Architecture Net 2012-08-06
  • 打赏
  • 举报
回复
你可以参考:http://www.cnblogs.com/chengxingliang/archive/2011/07/18/2108732.html
Glenn-Cui 2012-08-06
  • 打赏
  • 举报
回复
怎么没人 呢
Glenn-Cui 2012-08-06
  • 打赏
  • 举报
回复
我也继承了INotifyPropertyChanged这个接口了 。。。。 不知道错在哪里 。
 public class InternalUsersArticleTb : INotifyPropertyChanged
{
//id
private string articleID;
public string ArticleID
{

get
{
return this.articleID;
}
set
{
if (this.articleID != value)
{
this.articleID = value;
OnPropertyChanged("ArticleID");
}
}
}


#region INotifyPropertyChanged Members

public event PropertyChangedEventHandler PropertyChanged;

private void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}

#endregion

}

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧