首先,我知道要同时使用触发器和转换器,但是我有一些问题我仍然不确定答案。
- 什么时候最好使用触发器而不是转换器?
- 什么是更好的性能 - 触发器或转换器?
- 转换器所做的一切是否都可能与触发器有关,反之亦然?
还有一件事,触发器并不是那么好,因为它是在 XAML 中编写逻辑,这是错误的,并且通常不可读,特别是如果我们在一页中编写许多触发器,所以大多数时候我更喜欢使用转换器。我的意见听起来正确吗?
转换器用于将数据从您的内部格式更改为可以在 UI 上显示并与用户交互的格式。例如,您将有一个转换器将枚举类型更改为组合框的选定值,或将布尔值更改为“可见”/“不可见”,或使用转换器显示和隐藏或启用和禁用不同的部分属性具有特定值时的 UI。
触发器允许您根据属性值的变化来更改 UI 的其他部分。这将包括以下内容:
有一些重叠,但是当对 UI 的更改是静态的时,我会使用转换器 - 例如,当模式设置为某个值时,选项卡始终处于禁用状态,而触发器用于更多动态更改 - 触发的突出显示、动画等通过用户操作。
正如您所说,触发器将逻辑放入 UI 中,但我会将它们用于仅以某种方式更改 UI 的逻辑,而不是触发模型本身的更改。