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. 获取当前匹配元素 包括自身的html

    $(".test").prop("outerHTML"); 来自为知笔记(Wiz)

  2. 【转】Ubuntu 12.04 安装JDK 8和Eclipse

    原文网址:http://blog.csdn.net/yechaodechuntian/article/details/24853813 Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装 ...

  3. android adb应用

    一 adb 简介 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 二 安装 方法 先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. ...

  4. JS面向对象组件(二)--Javascript原型链

    原型链 : 实例对象与原型之间的连接,叫做原型链 –__proto__( 隐式连接 ),这就是原型链,平时我们是看不到的. 原型链的最外层 : Object.prototype function Aa ...

  5. tilecache2.11在windows apache2.22安装部署

    tilecache2.11在windows apache2.22安装部署 蔡建良 2013-09-03 一.安装环境 操作系统: Windows7 32位 Apache2.22 Python2.5 m ...

  6. Symfony2 学习笔记之插件格式

    一个bundle类似于其它框架中的插件,但是比插件表现更好.它跟其它框架最主要的不同是在Symfony2中所有东西都是bundle,包括核心框架功能和你写的所有应用程序代码.Symfony2中,bun ...

  7. top命令 Linux查看CPU和内存使用情况

    一.top命令 top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要.但是,它的缺点是会消耗很多系统资源. 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分 ...

  8. UML系列图------用例图介绍

    UML-Unified Model Language 统一建模语言,又称标准建模语言.是用来对软件密集系统进行可视化建模的一种语言. 在UML系统开发中有三个主要的模型: 功能模型: 从用户的角度展示 ...

  9. (转) SQL 命令

    省的自己总结了 1.终端启动MySQL:/etc/init.d/mysql start:(stop ,restart.)2.登录MySQL:mysql -uroot -p (用root账户登录),然后 ...

  10. 【DWT笔记】傅里叶变换与小波变换

    [DWT笔记]傅里叶变换与小波变换 一.前言 我们经常接触到的信号,正弦信号,余弦信号,甚至是复杂的心电图.脑电图.地震波信号都是时域上的信号,我们也成为原始信号,但是通常情况下,我们在原始信号中得到 ...