0

将 WPF 与 MVVM 一起使用,我的 VM 具有索引属性

IObject1 this[string key]

我需要将视图的一个属性绑定到IObject1的一个属性上,我需要的object1的key就是视图中控件的名称。本质上我需要嵌套绑定

<TextBlock x:Name="Key1"  Text="{Binding ["Key1"].DisplayText}

但是,名称对于不同的项目非常有用,所以我需要嵌套绑定

<TextBlock x:Name="Key1"  Text="{Binding [{Binding Name, RelativeSource={RelativeSource Self}].DisplayText}

我的实际情况比这更复杂,但如果我能做到这一点,我想我可以弄清楚其余的。

我正在使用 Blend,我很想教我的设计师在 Blend 中做这类事情,但如果需要,我很乐意使用代码。

我是否忽略了一些明显的东西?我不知道该怎么做,也没有偶然发现正确的 Google / Stack Overflow 搜索词。

谢谢。

4

1 回答 1

1

这是一个奇怪的解决方案大声笑,无论如何,您可以使用 MultiBinding 和转换器来解决它。

<TextBlock.Text>
<MultiBinding Converter={StaticResource combine}>
<Binding Path=Dictionary />
<Binding Path=Name />
</Multibinding>
于 2012-09-08T06:16:41.170 回答