将列表框项目索引作为参数传递给ObjectDataProvider

4

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

基本上,传递给对象的参数是原始颜色和列表框项目索引,它将返回一个根据索引较轻的颜色...这是我目前为对象数据提供程序编写的代码:

    <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}

我希望它能绑定到列表框索引,所以不确定要放入哪个属性。 第二个问题: 列表框项确实有一个标签,其内容绑定到列表框项索引,但是,当我始终想将其绑定到索引时,如何使用上述绑定源技术来绑定内容? 提前感谢您的帮助! =)
1个回答

0

这可能听起来有点傻,但你考虑过使用后台代码间接链接它吗?也就是说,使用一系列变量和选择语句来设置所需的属性。我知道数据绑定可能会成为一个真正的头痛 - 如果有其他方法可以实现完全相同的最终结果,我就会避免使用。

我真的需要更多关于你的最终目标的细节(虽然我的咖啡可能还没有让我完全理解英语,哈哈)。你在使用数据库吗?如何为每个用户获取排名?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接