4

我目前正在尝试使用对象数据提供程序来返回我想用作每个列表框项目背景的颜色,颜色取决于该列表框项目索引。

基本上传递给对象的参数是原始颜色和 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}

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

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

提前感谢您的帮助!=)

4

1 回答 1

0

这可能看起来有点傻,但是您是否考虑过使用后面的代码间接链接它?也就是说,使用一系列变量和选择案例来设置你想要的属性。我知道数据绑定可能会让人头疼——如果有另一种方法可以实现完全相同的最终结果,我通常会避免它。

我真的需要更多关于你的最终目标的细节(尽管可能是我的咖啡还没有足够让我理解英语,哈哈)。你在使用数据库吗?您如何获得每个用户的排名?

于 2011-01-18T17:11:23.710 回答