C# 数据绑定到列表并随机拾取元素

C# 数据绑定到列表并随机拾取元素,c#,wpf,C#,Wpf,我有一个列表,每个项目都有以下数据模板: <stack Panel> <TextBlock Text={Binding SomeText} /> <stackPanel Tag={Binding SecondText}> <TextBlock = {Binding RandomText} /> </StackPanel> </StackPanel> 我还在解析一个xml文件以获取列表

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

<stack Panel>
    <TextBlock Text={Binding SomeText} />
    <stackPanel Tag={Binding SecondText}>
        <TextBlock = {Binding RandomText} />
    </StackPanel>
</StackPanel>
我还在解析一个xml文件以获取
列表
,然后将ListBox源绑定到
列表

假设
列表的格式如下:
Item1对象
SomeText1,SecondText1,ThirdText1

Item2对象
SomeText2,SecondText2,ThirdText2

Item3对象
SomeText3,SecondText3,ThirdText3

对于第一个TextBlock和第二个StackPanel标记,我想分配
SomeText
SecondText
,这很好,也很有效。但是对于内部文本块,我想以随机方式分配
ThirdText
,而不是按照列表中出现的顺序

当我将列表框绑定到列表时,如何执行此操作?

两种方法之一:

  • 将随机值直接指定给第三个文本属性(或为随机值引入第四个属性)。这将使绑定保持简单

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

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