【发布时间】:2015-07-20 21:29:09
【问题描述】:
我定义了一个包含公共属性的类型 Board
ObservableCollection<Column> Columns
我想使用 MVVM 模式来显示它。 我创建了 BoardView 并将其绑定到 BoardViewModel。 BoardViewModel 公开了 Board 类型的公共属性 Board。 BoardView 包含一个控件 ItemsControl,它设置 ItemsSource={Binding Board.Columns}。
<ItemsControl ItemsSource="{Binding Board.Columns}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderThickness="2" Margin="10" BorderBrush="#9f9f9f" Width="250">
<v:BoardColumnView Background="#e3e3e3" />
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
BoardColumnView 应该显示 Column 类型的属性,并且效果很好。 我的问题是我想为 BoardColumn 创建一个 ViewModel,而不是只显示 Column 类型的属性,我想显示 BoardColumnViewModel 这将在 Column 属性中定义。 我怎样才能做到这一点? 提前致谢!
【问题讨论】:
-
非常不清楚。为什么你不能像你在问题末尾写的那样在 Column 类中定义 BoardColumnViewModel?
-
嗨,很抱歉描述不清楚,但我已经尽力了。我不能使用 Column 来保存 ColumnBoardViewModel,因为它是数据库实体。我只是想知道是否可以将 BoardColumnView.xaml.DataContext 绑定到 BoardColumnViewModel 并在 ItemsControl 中将 BoardColumnViewModel.Column 绑定到 ItemsControl.CurrentItem。
-
嗨,它帮助并引导我在 Stackoverflow 上找到一些有趣的线程。谢谢