数据绑定到列表并随机选取元素

时间:2012-07-02 08:07:46

标签: c# wpf

我有一个列表,每个项目都有以下数据模板:

<stack Panel>
    <TextBlock Text={Binding SomeText} />
    <stackPanel Tag={Binding SecondText}>
        <TextBlock = {Binding RandomText} />
    </StackPanel>
</StackPanel>

SomeTextClass是

public SomeTextClass
{
    public string SomeText{get; set;}
    public string SecondText{get; set;}
    public string ThirdText{get; set;}
}

我也在解析xml文件以获取List<SomeTextClass>,然后将ListBox源绑定到List<SomeTextClass>

假设List<SomeTextClass>具有以下格式:
第1项对象SomeText1, SecondText1, ThirdText1
第2项对象SomeText2, SecondText2, ThirdText2
第3项对象SomeText3, SecondText3, ThirdText3

对于第一个TextBlock和第二个StackPanel标记,我想分配SomeTextSecondText,这很好并且也可以正常工作。但是对于内部TextBlock,我想以随机的方式分配ThirdText,而不是按照列表中显示的顺序分配?{/ p>

当我将列表框绑定到List时,如何才能完成?

1 个答案:

答案 0 :(得分:2)

两种方式之一:

  1. 直接将随机值分配给ThirdText属性(或为随机值引入第四个属性)。这将使您的绑定保持简单。

  2. 将内部TextBlock文本绑定到整个列表,并创建一个IValueConverter以从列表中返回一个随机值。