博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF中的两个绑定场景
阅读量:4936 次
发布时间:2019-06-11

本文共 1322 字,大约阅读时间需要 4 分钟。

1. 如何在诸如ListBox这样的项中绑定父类数据上下文。

在上述代码中,ListBox的ItemSource为某个集合,在其模板中绑定了集合实体成员的Name属性。假设存在这样一个需求,需要在个ListBoxItem上做统一的一项操作,比如检查、删除等,则需要为ListBoix的某个控件(比如按钮、右键菜单等)绑定一个父类的命令实例。蓝色的Xaml代码实现了这一点,因为它在ListBox.ItemSource的数据上下文之下,需要显示指明其绑定的DataContext。

在本项目中,使用了GalaSoft的Mvvm方案,Locator为App的资源,其通过DI注入了大量的ViewModel实例。Entries为此XamlDataCotext的ViewModel实例名,其存储在Locator中。

在网络上,还有一些其他的使用RelativeSource的方法,但我没有实现成功。比如讲AscentType指定为父类Windows,依然没有找到Windows的DataContext。比如在Binding to alternate DataContexts[1]中,其实现为:

                        

我按照其实现方式,并没有实现成功。可能是因为使用了第三方的XAML设计方案,中间夹杂着大量的特殊标签。

2. 诸如ListBox的子项绑定了集合中的一项,如何进行格式化。

ListBox Grid.Column="0" ItemsSource="{Binding ResultQueue}">            

在上述Xaml中,ListBox绑定了ResultQueue集合,ListBoxItem显示集合中的每个成员。默认情况下<TextBlock Text="{Binding }}"></TextBlock>就可以绑定。如果要对其实现格式转换,则需要为其提供一个默认的占位符。

 

参考:

[1]Binding to alternate DataContexts, http://blogs.interknowlogy.com/2011/04/26/binding-to-alternate-datacontexts/

转载于:https://www.cnblogs.com/jjseen/p/6150634.html

你可能感兴趣的文章
注册谷歌账号并验证时显示号码无法用于验证的问题
查看>>
hive基本操作与应用
查看>>
(C#)设计模式之状态模式
查看>>
java反射(2.0)
查看>>
详解C# 网络编程系列:实现类似QQ的即时通信程序
查看>>
Hive 变量和属性
查看>>
验证邮箱合法性的一些测试样例
查看>>
Python安装第三方库 xlrd 和 xlwt 。处理Excel表格
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
查看>>
细说sqlserver索引及SQL性能优化原则
查看>>
一般数据库增量数据处理和数据仓库增量数据处理的几种策略
查看>>
离散数学课后作业
查看>>
centos6.5适用的国内yum源:网易、搜狐
查看>>
shell 监控脚本
查看>>
[bzoj3029] 守卫者的挑战 (概率期望dp)
查看>>
[winograd]winograd算法在卷积中的应用
查看>>
视频直播技术(三):低延时直播经验总结
查看>>
微软Office Online服务安装部署(一)
查看>>
Application failed to start because it could not find or load the QT platform plugin “windows”
查看>>