您可以将一个对象,它是在WPF XAML一个ObservableCollection上访问一个字典财产?

问题描述 投票:1回答:1

我有一个包含网格一个ItemsControl视图。该ItemControl绑定到一个ObservableCollection。 每个事物都具有以下属性:名称(字符串),值(字符串),LocationDictionary(tabid(串),地点)

每个位置具有以下属性:上校(INT),行(INT),TabId(串),可见性(布尔)

该视图是在一个WPF用户控件一个标签。

  1. 是否有可能在XAML使用Dictionary类的东西来确定行和列放置东西的ItemsControl.ItemContainerStyle二传手? <ItemsControl.ItemContainerStyle> <Style> <Setter Property="Grid.Row" Value={Binding Path=LocationsDictionary[thisTabId].Row}" /> <Setter Property="Grid.Column" Value={Binding Path=LocationsDictionary[thisTabId].Col}" /> </Style>
  2. 能否thisTabId变量在视图级别进行设置,并在ItemsControl中的绑定路径使用?

这里的目标是能够把事情的网格,它只能出现一次,但可以用相同的查看其他选项卡存在。我有工作了一个网格,Row和Col类的东西的事情,但是当应用到第二电网,物联网在各网格/选项卡上的同一个地方结束。事2在每个标签上的同一网格单元locaiton结束。

该词典是我们用给的事情多位置属性,因此它可以在不同的地方多个标签存在想出了一个办法。

wpf xaml data-binding itemscontrol
1个回答
1
投票

你不能做这样的事情在纯XAML除非thisTabId是一个常数:

{Binding Path=LocationsDictionary[thisTabId].Row}

换句话说,thisTabId不能是在ItemsControl每个项目改变的动态值。如果你想这一点,你可以用它同时结合了multi value converter属性和LocationsDictionary财产和返回thisTabIdLocationsDictionary[thisTabId].Row一个LocationsDictionary[thisTabId].Column

© www.soinside.com 2019 - 2024. All rights reserved.