我有一个DataGrid受限于ObservableCollection.我有一个动态数据列表,因此正在编辑/添加/删除列表中的项目.起初,我正在清理并添加ObservableCollection但后来我发现我可以刷新ObservableCollection并且我需要实现CollectionChanged,但我不知道如果有任何身体可以提供一些指针或示例代码将是伟大的.
private List<OrderList> m_OrderListData = new List<OrderList>();
public List<OrderList> OrderListData
{
get => m_OrderListData;
private set => Set(ref m_OrderListData, value);
}
private ObservableCollection<OrderList> m_OrderListDataCollection;
public ObservableCollection<OrderList> OrderListDataCollection
{
get => m_OrderListDataCollection;
private set => Set(ref m_OrderListDataCollection, value);
}
...
...
m_OrderListDataCollection = new ObservableCollection<OrderList>(m_OrderListData as List<OrderList>);
...
...
foreach (OrderListViewModel Order in OrderList)
{
OrderListData.Add(new OrderList(Order.Description, Order.OrderId));
}
Run Code Online (Sandbox Code Playgroud)
这就是我以前的所作所为
OrderListData.Clear();
foreach (OrderListViewModel Order in OrderList)
{
OrderListData.Add(new OrderList(Order.Description, Order.OrderId));
} …Run Code Online (Sandbox Code Playgroud) 我对 WPF 真的很陌生,我正在制作一个包含矩形和信息的图例。 这是传奇的一个例子
这是 xmal
<ItemsControl Name="icColorInfo" ItemsSource="{Binding m_legendInfo}"
BorderBrush="DarkBlue" BorderThickness="2">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="2,2,2,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Height="25" Width="30" Fill="{Binding Color}"></Rectangle>
<TextBlock Grid.Column="1" Text="{Binding Info}"></TextBlock>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
矩形填充绑定到我的图例类的颜色属性,文本块绑定到信息属性
现在我想要做的是,如果图例“信息”条目等于“空”,我希望矩形有一个虚线边框(也许设置 Stroke 属性或其他东西)
如何绑定到特定项目而不影响其他项目?