找回密码
 立即注册

QQ登录

只需一步,快速开始

Alice
社区贡献组   /  发表于:2015-1-23 09:42:00
11#
回复 10楼suntongowen的帖子

你可以使用Button.CommandParameter的多重绑定<MultiBinding>,将ProvinceGrid和cityGird都作为Binding的ElementName传进去。
网上有很多相关知识的介绍,具体的有关Button的多重绑定你可以参考微软的文档:https://msdn.microsoft.com/en-us ... s.data.multibinding(v=vs.100).aspx

另外一种方法,已经将ProvinceGrid传进去了,就可以获取到里面的RowDetailsTemplate的C1DataGrid。
所以如果ProvinceGrid的SelectedItems的数目为0的时候,你就将CityGrid获取,然后判断里面的SelectedItem,删除就可以。

具体要根据你的业务逻辑和需求设计。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
suntongowen
初级会员   /  发表于:2015-1-23 11:13:00
12#
回复 11楼Alice的帖子

不好意思,你给我提供的两个解决方案我都试验了一下,我不知道是不是和你试验的是否一致
第一种方案:
XAML文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
suntongowen
初级会员   /  发表于:2015-1-23 11:17:00
13#
回复 11楼Alice的帖子

Convert:



获取第二个参数的类型不是C1DataGrid,我不知道你是 怎么操作的。

第二种方案:
我把ProvinceGrid作为参数传进后台,在参数中我获取不到c1:C1DataGrid.RowDetailsTemplate下的C1DataGrid,你是怎么获得的,请指教,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-23 17:02:00
14#
回复 13楼suntongowen的帖子

这些都是WPF平台下的基本知识。比如第二种,就是遍历Visualtree,自己往子里找,找到它的子就可以了。
帮你写了一个根据名字遍历寻找VisualTree上子的方法。
代码参考:
  1. public static T FindVisualChildByName<T>(Visual parent, string name) where T : Visual
  2.          {
  3.              if (parent != null)
  4.              {
  5.                  for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
  6.                  {
  7.                      var child = VisualTreeHelper.GetChild(parent, i) as Visual;
  8.                      string controlName = child.GetValue(Control.NameProperty) as string;
  9.                      if (controlName == name)
  10.                      {
  11.                          return child as T;
  12.                      }
  13.                      else
  14.                      {
  15.                          T result = FindVisualChildByName<T>(child, name);
  16.                          if (result != null)
  17.                              return result;
  18.                      }
  19.                  }
  20.              }
  21.              return null;
  22.          }
复制代码


parent就是获取到的provinceGrid。name参数就是“citygrid"。返回的就是你要的CityGrid。然后CityGrid的SelectedItems可以得到所有的选择项。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
suntongowen
初级会员   /  发表于:2015-1-23 17:15:00
15#
回复 14楼Alice的帖子

麻烦第一种也给解释一下
回复 使用道具 举报
suntongowen
初级会员   /  发表于:2015-1-23 17:31:00
16#
回复 14楼Alice的帖子

OK,结贴吧,谢谢你的回答。不过还是感觉挺麻烦
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-1-23 17:34:00
17#
回复 15楼suntongowen的帖子

有关WPF下Button的多重绑定,是WPF下的知识,如果你对此不理解,建议在网上查找资料或是搜索MSDN,会获得更多更好的帮助。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部