1:binding后台bool[]数据以及后台ObservableCollection数据

分别见下面xaml的Visibility和Text的Binding

public bool[] RubberTypeLegends
{
get
{
bool[] result = new bool[] {false,false,false };
for (int i = ; i < ResultItems.Count; i++)
{
result[i] = true;
}
return result;
}
}
...
<StackPanel x:Name="OSL_Legend"
Margin="30,0,0,0"
Orientation="Horizontal"
Visibility="{Binding RubberTypeLegends[1],
Converter={StaticResource boolToVisibilityConverter}}">
<Rectangle Width="10"
Height="10"
Fill="Blue" />
<TextBlock Margin="5,0,0,0"
FontSize="9pt"
Style="{StaticResource Univers57_Condensed}"
Text="{Binding ResultItems[1].RubberType}" />
</StackPanel>
...
private ObservableCollection<OilSwellResultsItemViewModel> _resultItems;

        public ObservableCollection<OilSwellResultsItemViewModel> ResultItems
{
get
{
if (_resultItems == null)
_resultItems = new ObservableCollection<OilSwellResultsItemViewModel>();
return _resultItems;
} set
{
if (_resultItems != value)
{
_resultItems = value;
this.RaisePropertyChanged("ResultItems");
}
}
}
public class OilSwellResultsItemViewModel : NotificationObject
{
...
private string _rubberType; public string RubberType
{
get { return _rubberType; }
set
{
if (_rubberType != value)
{
_rubberType = value;
this.RaisePropertyChanged("RubberType");
}
}
}
...
}

2:binding wpf control自己的属性

注意Binding="{Binding Items.Count, ElementName=DataGrid}"的ElementName是指向DataGrid

<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Items.Count, ElementName=DataGrid}" Value="1">
<Setter TargetName="OS_Legend" Property="Visibility" Value="Visible" />
<Setter TargetName="OSL_Legend" Property="Visibility" Value="Collapsed" />
<Setter TargetName="OSLSR_Legend" Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding Items.Count, ElementName=DataGrid}" Value="2">
<Setter TargetName="OS_Legend" Property="Visibility" Value="Visible" />
<Setter TargetName="OSL_Legend" Property="Visibility" Value="Visible" />
<Setter TargetName="OSLSR_Legend" Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding Items.Count, ElementName=DataGrid}" Value="3">
<Setter TargetName="OS_Legend" Property="Visibility" Value="Visible" />
<Setter TargetName="OSL_Legend" Property="Visibility" Value="Visible" />
<Setter TargetName="OSLSR_Legend" Property="Visibility" Value="Visible" />
</DataTrigger>
</ControlTemplate.Triggers>

可以binidng属性的属性【项目】的更多相关文章

  1. winform 自定义控件属性在属性面板中显示

    Jan.David Nothing is impossible, the word itself says 'I'm possible'!" — Audrey Hepburn winform ...

  2. jquery获取(设置)节点的属性与属性值

    1. attr(属性名)        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2 ...

  3. [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法

    前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...

  4. C#学习笔记四: C#3.0自动属性&匿名属性及扩展方法

    前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...

  5. 递归遍历XML节点属性和属性值

    public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = str ...

  6. JavaScript的检测属性、属性特性、枚举属性

    /* 检测属性 检测属性可以通过三种方式 1.通过in运算符 2.通过hasOwnPerperty() 如果给定的属性是继承属性将返回false 3.通过propertyIsEnumerable(): ...

  7. js构造函数,索引数组和属性的属性

    本文主要介绍和小结js的构造函数,关联数组的实现方式和使用,及不可变对象和它的实现方式及他们使用过程中要注意的点 <script> function p(){ var len=argume ...

  8. python 零散记录(七)(下) 新式类 旧式类 多继承 mro 类属性 对象属性

    python新式类 旧式类: python2.2之前的类称为旧式类,之后的为新式类.在各自版本中默认声明的类就是各自的新式类或旧式类,但在2.2中声明新式类要手动标明: 这是旧式类为了声明为新式类的方 ...

  9. iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值

    这篇博客光看标题或许就会产生疑问,某个对象,只要它存在某个属性,且值不是空的,不就能直接用点方法获取吗,为什么要拆分成key和value多此一举呢?下面,我用一个例子告诉大家,既然这方法是存在的,那就 ...

  10. java 反射得到属性与属性值

    反射可以破坏所有的封装性,比如这次通过反射得到的属性与属性值: /** * 得到属性值 * @param obj */ public static void readAttributeValue(Ob ...

随机推荐

  1. 学习java之泛型类和泛型方法

    上一篇博文中我自己试着用了下泛型类,昨天看java编程思想一书,发现里面有这么一段话: 使用参数化方法而不是用参数化类的方便之处在于:你不必为需要应用的每种不同类型都使用一个参数去实例化这个类,并且你 ...

  2. 【Java】MD5加密

    package sdfg; import java.math.BigInteger; import java.security.MessageDigest; import java.security. ...

  3. windows下用mingw编译linux项目

    1.下载安装mingw32 2.将mingw下bin和msys\1.0下bin设置为系统path 3.启动msys.bat 4.cd到项目目录 5.输入./configure 6.输入make 7.输 ...

  4. ecshop 模版商品详情页,不同商品调用不同模板

    1.在goods.php中找到以下代码 $smarty->display('goods.dwt', $cache_id); 改为下面的代码 switch ($goods['cat_id']){ ...

  5. APP打包上线应注意的问题!

    咱们只谈技术不谈业务!关系到怎么推广怎么让软件发扬光大,其实归根结底这都和公司的现状和产品经理有直接的联系,与我们程序员关系不太密切.   我总结的上线项目和我做的项目以及公司外包过来的项目升级再次发 ...

  6. Safari里使用JsonView

    这是第三方开发的一个Safari的jsonView,和chrome以及FF功能类似,现在已经更新到1.1版了. 传送门:https://github.com/rfletcher/safari-json ...

  7. php 采用fpdf乱码问题

    步骤1.首先下载fpdf http://www.fpdf.org/en/download.php(本人用的是1.7版本) 步骤2.下载中文包 http://www.fpdf.org/download/ ...

  8. Spring3.0.6定时任务

    项目使用的Spring版本比较旧是3.0.6版本,由于需要进行定时任务,就决定使用Spring自带的scheduled task. 在网上找了很多文章,也查看了Spring3.0.6的官方文档,按照网 ...

  9. cookie跨域,跨目录访问及单点登录。

    首先普及下域名的知识: 域名: baidu.com    // 一级域名  A play.baidu.com  //  二级域名 B abc.play.baidu.com // 三级域名  C 数有几 ...

  10. ansible控制windows的官方翻译

    Ansible控制windows 1.    Windows下如何工作 在ansible控制linux的时候,用的是ssh的方式,在windows中,使用的是power shell,在客户端机器上也是 ...