gpt4 book ai didi

c# - 如何获取绑定(bind)到可观察集合的数据网格以使用 mvvm 通知删除?

转载 作者:行者123 更新时间:2023-12-03 10:58:02 27 4
gpt4 key购买 nike

我有一个绑定(bind)到可观察集合的数据网格。我想知道何时从数据网格中删除一行(或多行)。我正在尝试使用 mvvm 来做到这一点。

我不担心属性改变(它都是只读的)只是删除。所以我知道我只需要使用 CollectionChanged 事件。但是不确定我是如何连接的,尤其是使用 mvvm。

数据网格

<DataGrid Grid.Row="0"
ItemsSource="{Binding BookList, UpdateSourceTrigger=PropertyChanged}"
Style="{StaticResource DataGridTemplate1}"
ColumnHeaderStyle="{StaticResource DG_ColumnHeaderCenter1}"
RowStyle="{StaticResource DG_Row1}"
CellStyle="{StaticResource DG_Cell1}"
RowHeaderStyle="{StaticResource DG_RowHeader1}"
AutoGenerateColumns="False"
HorizontalAlignment="Stretch"
CanUserDeleteRows="True"
Background="Silver"
RowHeaderWidth="30">
<DataGrid.Columns>
<DataGridTextColumn Header="DatePrice" IsReadOnly="True" Binding="{Binding DatePrice, StringFormat={}\{0:dd-MMM-yy\}}" MinWidth="75"/>
<DataGridTextColumn Header="ISIN" IsReadOnly="True" Binding="{Binding ISIN}" MinWidth="75"/>
<DataGridTextColumn Header="Name" IsReadOnly="True" Binding="{Binding Name}" MinWidth="75"/>
<DataGridTextColumn Header="Price" IsReadOnly="True" Binding="{Binding Price, StringFormat={}{0:N0}}" MinWidth="75"/>
</DataGrid.Columns>
</DataGrid>

最佳答案

你可以写这样的东西。该事件在添加、删除、更改、移动项目或刷新整个列表时发生。

BookList.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler( BookList_CollectionChanged );

void BookList_CollectionChanged( object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e )
{
if ( e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove )
{

}
}

关于c# - 如何获取绑定(bind)到可观察集合的数据网格以使用 mvvm 通知删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com