可以binidng属性的属性【项目】
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属性的属性【项目】的更多相关文章
- winform 自定义控件属性在属性面板中显示
Jan.David Nothing is impossible, the word itself says 'I'm possible'!" — Audrey Hepburn winform ...
- jquery获取(设置)节点的属性与属性值
1. attr(属性名) //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2 ...
- [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法
前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...
- C#学习笔记四: C#3.0自动属性&匿名属性及扩展方法
前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...
- 递归遍历XML节点属性和属性值
public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = str ...
- JavaScript的检测属性、属性特性、枚举属性
/* 检测属性 检测属性可以通过三种方式 1.通过in运算符 2.通过hasOwnPerperty() 如果给定的属性是继承属性将返回false 3.通过propertyIsEnumerable(): ...
- js构造函数,索引数组和属性的属性
本文主要介绍和小结js的构造函数,关联数组的实现方式和使用,及不可变对象和它的实现方式及他们使用过程中要注意的点 <script> function p(){ var len=argume ...
- python 零散记录(七)(下) 新式类 旧式类 多继承 mro 类属性 对象属性
python新式类 旧式类: python2.2之前的类称为旧式类,之后的为新式类.在各自版本中默认声明的类就是各自的新式类或旧式类,但在2.2中声明新式类要手动标明: 这是旧式类为了声明为新式类的方 ...
- iOS 将对象的属性和属性值拆分成key、value,通过字符串key来获取该属性的值
这篇博客光看标题或许就会产生疑问,某个对象,只要它存在某个属性,且值不是空的,不就能直接用点方法获取吗,为什么要拆分成key和value多此一举呢?下面,我用一个例子告诉大家,既然这方法是存在的,那就 ...
- java 反射得到属性与属性值
反射可以破坏所有的封装性,比如这次通过反射得到的属性与属性值: /** * 得到属性值 * @param obj */ public static void readAttributeValue(Ob ...
随机推荐
- linux上改变mysql数据文件的位置
用软连接改变了/var/lib/mysql的位置,并设置好mysql.mysql的权限,但是发现还是不能启动. 发现/var/log/mysqld.log 150308 16:16:02 [Warni ...
- 2015-10-13 晴 tcp/ip卷1
今年看tcp/ip卷1的内容.苦和甜来自外界,坚强则来自内心,来自一个人的自我努力. 只有勤奋和积极进取的人 才会赢得成功的人生.加油
- 剑指offer—第二章算法之二分查找(旋转数组的最小值)
旋转数组的最小数字 题目:把一个数组最开始的若干元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如:数组{3,4,5,1,2}为{1,2,3,4, ...
- JS面向对象组件(五) -- 复制对象(拷贝继承)
研究到这儿,竟然出现了一个面试题目 var a = { name : '小明' }; var b = a; b.name = '小强'; alert( a.name ); 结果必然是“小强”,原因是对 ...
- struts 中 s:iterator 使用注意事项
后台定义类 public class Course_pj { private String _id; private String _courseid; private String _course_ ...
- linearlayout 水平垂直居中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- Delphi 关闭MDI子窗口
需要在子窗口的onClose事件中吧Action = caFree; 就可以了. procedure Tfrm_aa.FormClose(Sender: TObject; var Action: TC ...
- 【转】linux下cpio命令使用
转自:http://www.51testing.com/html/32/498132-816949.html 功能说明:备份文件. 补充说明:cpio是用来建立,还原备份档的工具程序,它可以加入,解开 ...
- B.xml
pre{ line-height:1; color:#1e1e1e; background-color:#f0f0f0; font-size:16px;}.sysFunc{color:#627cf6; ...
- 转-问自己:UI设计注意的十个问题
UI 设计需要自问的 10个问题 UI 设计的魅力在于,你不仅需要适当的技巧,更要理解用户与程序的关系.一个有效的用户界面关注的是用户目标的实现,包括视觉元素与功能操作在内的所有东西都需要完整一致 ...