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. linux上改变mysql数据文件的位置

    用软连接改变了/var/lib/mysql的位置,并设置好mysql.mysql的权限,但是发现还是不能启动. 发现/var/log/mysqld.log 150308 16:16:02 [Warni ...

  2. 2015-10-13 晴 tcp/ip卷1

    今年看tcp/ip卷1的内容.苦和甜来自外界,坚强则来自内心,来自一个人的自我努力. 只有勤奋和积极进取的人 才会赢得成功的人生.加油

  3. 剑指offer—第二章算法之二分查找(旋转数组的最小值)

    旋转数组的最小数字 题目:把一个数组最开始的若干元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如:数组{3,4,5,1,2}为{1,2,3,4, ...

  4. JS面向对象组件(五) -- 复制对象(拷贝继承)

    研究到这儿,竟然出现了一个面试题目 var a = { name : '小明' }; var b = a; b.name = '小强'; alert( a.name ); 结果必然是“小强”,原因是对 ...

  5. struts 中 s:iterator 使用注意事项

    后台定义类 public class Course_pj { private String _id; private String _courseid; private String _course_ ...

  6. linearlayout 水平垂直居中

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  7. Delphi 关闭MDI子窗口

    需要在子窗口的onClose事件中吧Action = caFree; 就可以了. procedure Tfrm_aa.FormClose(Sender: TObject; var Action: TC ...

  8. 【转】linux下cpio命令使用

    转自:http://www.51testing.com/html/32/498132-816949.html 功能说明:备份文件. 补充说明:cpio是用来建立,还原备份档的工具程序,它可以加入,解开 ...

  9. B.xml

    pre{ line-height:1; color:#1e1e1e; background-color:#f0f0f0; font-size:16px;}.sysFunc{color:#627cf6; ...

  10. 转-问自己:UI设计注意的十个问题

    UI 设计需要自问的 10个问题   UI 设计的魅力在于,你不仅需要适当的技巧,更要理解用户与程序的关系.一个有效的用户界面关注的是用户目标的实现,包括视觉元素与功能操作在内的所有东西都需要完整一致 ...