c# - 为本地编写数据触发器:(.xaml 文件)
问题描述
是否可以为 local:FruitTemplate 和 local:AnimalTemplate 编写触发器。我有一种情况,点击水果 FruitTemplate 应该是可见的,当点击 Animal 时 AnimalTemplate 应该是可见的。我想要一些关于如何实现它的示例。提前致谢。
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<local:FruitTemplate/>
<local:AnimalTemplate/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
解决方案
DateTemplateSelectors
作为触发器的替代方案,您可以考虑可用于DataTemplate
根据绑定项目的类型修改表示的内置。通过这种方式,您可以将备用模板存储为单独的资源,并在方法中选择您需要的模板SelectTemplate
。就个人而言,我觉得这种方法比 UI 触发器更自然,而且它仍然兼容 MVVM。
ItemsControl.ItemTemplateSelector
是可以使用的入口点。查看文章,有一些代码示例。
推荐阅读
- java - 原因:java.lang.IllegalStateException:没有从 {classpath*:META-INF/persistence.xml} 解析的持久性单元
- reactjs - React native - 我如何保存我的字段的结果
- c# - 将意外令牌放入三元运算符
- angular - Angular6 和 Bootstrap4 可折叠 div 不起作用
- grails - Grails,抛出异常后保存域类
- google-chrome - 在 chrome 扩展中使用带有内容脚本的 jQuery 会影响已经使用 jQuery 的页面/站点吗?
- html - 响应式 flexbox,每行 3 个项目,然后是 2,然后是 1
- python - 对列表中的连续元素对求和
- angular - 如何在Angular 6中的单个项目下的多个应用程序之间导航
- r - 读取 CSV 文件以符合唯一标记