2010-10-03 69 views
3

我正在尝试使用对象数据提供程序来返回我想用作每个列表框项目的背景的颜色,并且颜色依赖于该列表框项目索引。将列表框项目索引作为参数传递给objectdataprovider

基本上传递给对象的参数是原始颜色和listboxitem索引,它将根据它是什么索引返回一个更亮的颜色...这是我目前用于对象数据提供者的代码:

<ObjectDataProvider ObjectType="{x:Type local:cUserProfiles}" 
       MethodName="GetRankColour" x:Key="RankColour"> 
     <ObjectDataProvider.MethodParameters> 
      <Color> {ORIGINAL_COLOUR}<Color/> 
      <system:Int16>{LISTBOXITEM INDEX}</system:Int16> 
     </ObjectDataProvider.MethodParameters> 
    </ObjectDataProvider> 

我知道你不能做直接绑定,因为它不是依赖的对象,不符合规则的约束力,必须直接设置它......不过,我不知道在我的列表框项xaml我应该绑定回来。

此外,在经过长时间的搜寻的答案,我只找到例子,人们只能改变基于事物的参数,如使用这种方法有什么人进入一个文本框: -

{Binding Source={StaticResource RankColour}, 
       Path=MethodParameters[1], 
       BindsDirectlyToSource=True, 
       UpdateSourceTrigger=PropertyChanged} 

我希望它绑定到列表框索引,所以不知道要将它放入哪个属性。

第二个问题: 列表框项目确实有一个标签,其内容被绑定到列表框项目索引,但是,如何使用上述绑定源技术来绑定内容,当我总是想将其绑定到指数?

感谢您的帮助提前! =)

回答

0

这看起来有点愚蠢,但你有没有想过使用后面的代码间接地链接这个?也就是说,使用一系列变量并选择案例来设置您想要的属性。我知道数据绑定可能会成为一个真正的头痛 - 如果有另一种方法可以实现同样的最终结果,我通常会避免这种情况。

我真的可能需要更多的细节来说明你的最终目标是什么(虽然可能是因为我的咖啡没有踢足够让我理解英语,大声笑)。你在使用数据库吗?你如何得到每个用户的排名?

相关问题