【发布时间】:2019-02-15 18:04:58
【问题描述】:
我尝试使用以下代码 sn-ps 在 ListViewItems 模板中显示组合框项目。我尝试在组合框加载事件中获取组合框的数据上下文。并且 datacontext 仅返回查看的 listViewItems 的值。它返回列表视图项目组合框外的空值。
<ListView ItemsSource="{Binding PersonsTest, Mode=OneWay}" x:Name="TieLines">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<ComboBox DataContext="{Binding Orders}" ItemsSource="{Binding Numbers}" Loaded="ComboBox_Loaded" Width="250" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
问题 为什么在 ListView 中的视图项之外的 DataContext 值返回为 null? 如何从视图 ListViewItems 中获取数据上下文? 或者如果我需要启用任何其他属性以在 XAML 级别绑定 ComboBox DataContext?
【问题讨论】:
-
你能给出
PersonsTest、Orders、Numbers的定义吗? -
对于您的问题:您正在将列表视图数据上下文绑定到一个名为“外部”数据上下文的 Orders 的属性。可能是整个视图DataContext。首先,您必须定义 DataContext 并将其分配给包含列表视图的视图元素,然后您必须在其中创建一个名为“Orders”的公共属性。我不知道你为什么要做这次旅行
-
请同时提供设置整个视图的del DataContext的代码
标签: listview data-binding uwp datacontext itemssource