从itemControls

时间:2015-11-24 08:24:40

标签: c# wpf mvvm user-controls

我是wpf的初学者,我想知道在用户控件的列表上处理crud操作的最佳实践。

如下例所示,我创建了一个个人列表,每个列表都绑定在用户控件中(mvvm ...)。

经过多次搜索,我发现有可能使用与RelativeSource,FindAncestors等的'特定'绑定...

但在我看来它非常难看,因为它打破了依赖倒置的原则。如何不知道父项或如何从父项绑定事件/命令以从列表中删除项目。

这是主要清单

<ItemsControl ItemsSource="{Binding Path=Items, Mode=TwoWay}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <components:Individual Content="{Binding }" />
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

这是UserControl的定义

<UserControl:Indivudual>
...
<TextBox Name="Text" Text="{Binding Path=Name, Mode=TwoWay}" Grid.Row="0"/>
<Button Grid.Row="0" Grid.Column="2">Delete</Button>
</UserControl>

0 个答案:

没有答案