我有一个包含网格一个ItemsControl视图。该ItemControl绑定到一个ObservableCollection。 每个事物都具有以下属性:名称(字符串),值(字符串),LocationDictionary(tabid(串),地点)
每个位置具有以下属性:上校(INT),行(INT),TabId(串),可见性(布尔)
该视图是在一个WPF用户控件一个标签。
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Row" Value={Binding Path=LocationsDictionary[thisTabId].Row}" />
<Setter Property="Grid.Column" Value={Binding Path=LocationsDictionary[thisTabId].Col}" />
</Style>
这里的目标是能够把事情的网格,它只能出现一次,但可以用相同的查看其他选项卡存在。我有工作了一个网格,Row和Col类的东西的事情,但是当应用到第二电网,物联网在各网格/选项卡上的同一个地方结束。事2在每个标签上的同一网格单元locaiton结束。
该词典是我们用给的事情多位置属性,因此它可以在不同的地方多个标签存在想出了一个办法。
你不能做这样的事情在纯XAML除非thisTabId
是一个常数:
{Binding Path=LocationsDictionary[thisTabId].Row}
换句话说,thisTabId
不能是在ItemsControl
每个项目改变的动态值。如果你想这一点,你可以用它同时结合了multi value converter属性和LocationsDictionary
财产和返回thisTabId
或LocationsDictionary[thisTabId].Row
一个LocationsDictionary[thisTabId].Column
。