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. Scala List

    1 介绍 Scala中列表List类似于数组,List所有元素都具有相同的类型,但有两个重要的区别. 首先,列表是不可变的,这意味着一个列表的元素可以不被分配来改变. 第二,列表表示一个链表,而数组平 ...

  2. 关于inline-block的间隙问题

    很久之前写过一个星星评级的样式,当时开发人员在嵌套代码的时候出现很多问题,同样的一个样式有的页面正常有的页面就出现星星错位的问题,仔细研究了一下代码,发现问题原来出在了inline-block上. 目 ...

  3. 剑指offer—第三章高质量代码(数值的整数次方)

    高质量的代码:容错处理能力,规范性,完整性.尽量展示代码的可扩展型和可维护性. 容错处理能力:特别的输入和处理,异常,资源回收. 规范性:清晰的书写,清晰的布局,合理的命名. 完整性:功能测试,边界测 ...

  4. Android 高仿UC浏览器监控剪切板弹出悬浮窗功能

    UC浏览器应该是android手机里 最流行的浏览器之一了,他们有一个功能 相信大家都体验过,就是如果你复制了什么文字,(在其他app中 复制也有这个效果!,所以能猜到肯定是监控了剪切板),就会弹出一 ...

  5. g++

    用g++编译程序时,-l 与-L各是什么意思?还有-I -l 表示:编译程序到系统默认路进搜索,如果找不到,到当前目录,如果当前目录找不到,则到LD_LIBRARY_PATH等环境变量置顶的路进去查找 ...

  6. [Everyday Mathematics]20150220

    试求 $$\bex \sum_{k=0}^\infty\frac{1}{(4k+1)(4k+2)(4k+3)(4k+4)}. \eex$$

  7. 对JAVA集合进行遍历删除时务必要用迭代器

    java集合遍历删除的方法: 1.当然这种情况也是容易解决,实现方式就是讲遍历与移除操作分离,即在遍历的过程中,将需要移除的数据存放在另外一个集合当中,遍历结束之后,统一移除. 2.使用Iterato ...

  8. 【Unity入门】场景、游戏物体和组件的概念

    版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合 ...

  9. BITED数学建模七日谈之七:临近比赛时的准备工作

    经过前面六天的文章分享,相信大家对数学模型的相关准备.学习都有了更新的认识,希望大家能从中有所收获,以便更高效地准备比赛和学习数学模型,本文是数学建模经验谈的最后一天:临近比赛的准备工作,希望在临近比 ...

  10. Mapreduce读取Hbase表,写数据到一个Hbase表中

    public class LabelJob { public static void main(String[] args) throws Exception { Job job = Job.getI ...