我有一个ItemsControl
和UserControls
,可以由用户添加和删除。 UserControl
至删除将取决于它是否具有焦点。然后,一种可行的解决方案是检查ViewModel中的属性是否设置了GotFocus
,然后删除该对象,这将从UI中删除UserControl
。
但是,GotFocus
属性不适合ViewModel,因为它与业务逻辑无关,而是纯粹的UI功能(例如删除TextBox
中的字符)。我更希望ViewModel不知道哪个UI控件具有焦点。
因此,我想最好使用Expression Blend将功能实现为“行为”。这似乎是正确的途径,因为Expression Blend的目的之一就是允许UI设计人员添加UI功能。
我在这里找到了ListBox
的一个很好的代码示例:https://www.codeproject.com/Tips/1278713/WPF-Behavior-to-Give-Buttons-the-Capability-to-Add
这是一个纯代码解决方案,但是提供了有关代码功能的一些解释。在Expression Blend中如何完成?在哪里可以找到解释(混合窗口)资产->行为->使用SomeAction?