问题描述
点击那个圆的时候还可以把红色变为绿色..
解决方案
解决方案二:
获取数据之后再获取当前圆对象,然后根据取到的数据动态设置颜色属性不就好了吗。同理,单击事件也是要这样。在单击事件里边获取当前圆对象然后动态设置当前圆的颜色属性。
解决方案三:
引用1楼LoserOrLeader的回复:
获取数据之后再获取当前圆对象,然后根据取到的数据动态设置颜色属性不就好了吗。同理,单击事件也是要这样。在单击事件里边获取当前圆对象然后动态设置当前圆的颜色属性。
谢谢!那有很多条数据该怎么办呢?需要一条一条的列出来
解决方案四:
引用2楼huanhuiy91899的回复:
Quote: 引用1楼LoserOrLeader的回复:
获取数据之后再获取当前圆对象,然后根据取到的数据动态设置颜色属性不就好了吗。同理,单击事件也是要这样。在单击事件里边获取当前圆对象然后动态设置当前圆的颜色属性。谢谢!那有很多条数据该怎么办呢?需要一条一条的列出来
什么意思?数据是个数组或者集合,圆上边就得有数组或者集合长度种颜色?如果是这样的话,建议你用先根据数据画图,然后再把图片给圆对象的背景图片属性或者图片属性。
解决方案五:
引用3楼LoserOrLeader的回复:
Quote: 引用2楼huanhuiy91899的回复:
Quote: 引用1楼LoserOrLeader的回复:
获取数据之后再获取当前圆对象,然后根据取到的数据动态设置颜色属性不就好了吗。同理,单击事件也是要这样。在单击事件里边获取当前圆对象然后动态设置当前圆的颜色属性。谢谢!那有很多条数据该怎么办呢?需要一条一条的列出来
什么意思?数据是个数组或者集合,圆上边就得有数组或者集合长度种颜色?如果是这样的话,建议你用先根据数据画图,然后再把图片给圆对象的背景图片属性或者图片属性。
就像这样的效果...
解决方案六:
引用4楼huanhuiy91899的回复:
Quote: 引用3楼LoserOrLeader的回复:
Quote: 引用2楼huanhuiy91899的回复:
Quote: 引用1楼LoserOrLeader的回复:
获取数据之后再获取当前圆对象,然后根据取到的数据动态设置颜色属性不就好了吗。同理,单击事件也是要这样。在单击事件里边获取当前圆对象然后动态设置当前圆的颜色属性。谢谢!那有很多条数据该怎么办呢?需要一条一条的列出来
什么意思?数据是个数组或者集合,圆上边就得有数组或者集合长度种颜色?如果是这样的话,建议你用先根据数据画图,然后再把图片给圆对象的背景图片属性或者图片属性。
就像这样的效果...
里面的数据都是从数据库里取的
解决方案七:
每个控件都是一个类类有属性和事件对应的就是圆的属性和事件,动态创建不就好了嘛。你给的图不就是这个意思吗?比如你数据库里有一百条数据,没条数据的某个字段比如Status为0就创建红色的圆,为1就创建绿色的圆,你循环这一百条数据,然后在循环里边创建圆的实例,再根据Status判断给实例的BackGroundColor属性设置为红色还是绿色。这有什么难的。
解决方案八:
为什么要用数据库?其他人使用也要使用数据库么?这种数据应该保存在配置文件中啊
解决方案九:
//uti为xaml里面引用的命名空间<Window.Resources><uti:MyConverterx:Key="myColorCOnvertKey"/></Window.Resources>[ValueConversion(typeof(string),typeof(Color))]publicclassMyConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){if(value=="red)returnColor.Red;if(value=="blue")returnColor.Blue;returnColor.Green;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){returnnull;}}//以下示例为绑定Textblock字体颜色<TextBlockHorizontalAlignment="Left"Margin="75,7,0,0"Foreground="{BindingthisColor,Convertor={StaticResouce:myColorCOnvertKey}}"Text="用户名"/>
以上是步骤,非可运行demo
解决方案十:
引用8楼evionmzs的回复:
//uti为xaml里面引用的命名空间<Window.Resources><uti:MyConverterx:Key="myColorCOnvertKey"/></Window.Resources>[ValueConversion(typeof(string),typeof(Color))]publicclassMyConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){if(value=="red)returnColor.Red;if(value=="blue")returnColor.Blue;returnColor.Green;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){returnnull;}}//以下示例为绑定Textblock字体颜色<TextBlockHorizontalAlignment="Left"Margin="75,7,0,0"Foreground="{BindingthisColor,Convertor={StaticResouce:myColorCOnvertKey}}"Text="用户名"/>以上是步骤,非可运行demo
谢谢!
解决方案十一:
引用6楼LoserOrLeader的回复:
每个控件都是一个类类有属性和事件对应的就是圆的属性和事件,动态创建不就好了嘛。你给的图不就是这个意思吗?比如你数据库里有一百条数据,没条数据的某个字段比如Status为0就创建红色的圆,为1就创建绿色的圆,你循环这一百条数据,然后在循环里边创建圆的实例,再根据Status判断给实例的BackGroundColor属性设置为红色还是绿色。这有什么难的。
我把红绿色用了两张图片来显示,写了个循环判断他该显示哪张图片,现在我不会指定图片的路径..我在后台都点不出那个图片的Name,可是listview控件就有。。