我有实现INotifyProperyChanged自定义对象,现在我想知道是否可以实现软删除其将与结合发挥很好?每个对象有一个属性请将isDeleted,如果此属性设置为true,比它不会显示在GUI。我在想制作一个自定义标记扩展这将装点Binding类,但预期它没有解决。现在,我使用MultiBinding请将isDeleted与作为绑定属性之一,使转换器将能够找出哪些对象被删除考虑。但是这种解决方案的声音相当复杂和乏味。

没有任何人有一个想法如何实现软删除绑定?

有帮助吗?

解决方案

您可以在属性显示的UIElement的绑定到你请将isDeleted对象的属性,隐藏或显示的内容。

作为一个实例,我使用一个TextBlock。在XAML可以写

<TextBlock Text="IsDeleted" Visibility={Binding IsDeleted}/>

注:在上面的例子中,将TextBlock是可见的,当请将isDeleted是真实的。我将定义正的特性,如存在于物体上。所以,你不必否定布尔或建立自己的转换器。

WPF具有的buildin转换器,其转换布尔到能见度的枚举值。

其他提示

实施软删除的另一种方式是通过保持和揭露仅包含那些没有被你的视图模型之外的所有项目的集合中删除项目的集合。这样做的(在我看来)非常大的优点,它不是你的观点需要思考的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top