【发布时间】:2014-12-01 16:09:42
【问题描述】:
嗨,我在 ListView 项目上有一个 ComboBox,ComboBox 使用一个 ObservableCollection,而 ListView 使用另一个。如何将 ComboBox 的 selecteditem 设置为 listview 项中列的值?
ListView 使用如下定义的 GridView:
<GridView x:Key="manage_calls_gridView">
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding MCName}" />
<GridViewColumn Header="Allocated To" DisplayMemberBinding="{Binding MCPostCode}" />
<GridViewColumn Header="Post Code" Width="180" CellTemplate="{StaticResource manage_calls_pcode}" />
</GridView>
在 DataTemplate 中定义的 ComboBox 如下:
<DataTemplate x:Key="manage_calls_pcode">
<ComboBox Width="180" DropDownClosed="mc_pcode_DropDownClosed" DataContext="{Binding DataContext,RelativeSource={RelativeSource AncestorType={x:Type ListView}}}"
ItemsSource="{Binding Path=LookUpCollection_6}"
DisplayMemberPath="Desc"
/>
</DataTemplate>
这是 ComboBox 用于其 ObservableCollection (LookUpCollection_6) 的类
public class LookUp
{
public string Id { get; set; }
public string Desc { get; set; }
}
这是包含 ComboBox 的 ListView 用于其 ObservableCollection (SalesAgentList) 的类
public class SalesAgentRec
{
public string MCName { get; set; }
public string MCPostCode { get; set; }
public string MCSource { get; set; }
public string MCUid { get; set; }
public string MCRecs { get; set; }
}
我需要将 ComboBox 的选定项/值设置为 MCPostCode 的值。
提前致谢,
史蒂夫。
【问题讨论】: