我有一个Listview:
<ListView ItemsSource="{Binding FieldMap.SourceTargetFieldMap, Mode=Default}">
<ListView.View>
<GridView>
<GridViewColumn Header="Source Fields" CellTemplate="{StaticResource sourceFieldsTemplate}"/>
<GridViewColumn Header="Source Values" CellTemplate="{StaticResource =sourceValueTemplate}">
<GridViewColumn Header="Target Field" CellTemplate="{StaticResource targetFieldTemplate}"/>
</GridView>
</ListView.View>
</ListView>
我还有这些绑定到的单元格数据模板:
<DataTemplate x:Key="sourceFieldsTemplate">
<ComboBox x:Name="cbSourceField" SelectedValue="{Binding Path=SourceField, Mode=TwoWay}" DisplayMemberPath="FieldName" ItemsSource="{Binding SourceFieldValues}" Width="120" />
</DataTemplate>
<DataTemplate x:Key="sourceValueTemplate">
<TextBox x:Name="tbSourceValue" Margin="5,0,0,0" DataContext="{Binding ElementName=cbSourceField, Path=SelectedItem}" Text="{Binding Path=FieldValue, Mode=TwoWay}" TextWrapping="Wrap" Width="115" />
</DataTemplate>
<DataTemplate x:Key="targetFieldTemplate">
<TextBox x:Name="tbTargetField" Margin="5,0,0,0" Text="{Binding Path=TargetField}" TextWrapping="Wrap" Width="155" IsReadOnly="True"/>
</DataTemplate>
我想要做的是,将Source Value文本框字段绑定到SourceFields组合框的选定项目。因此,当从源域组合框中选择一个项目时,来自selectedItem的属性(实际上是具有两个属性的对象 - 类似于fieldname和value)填充文本框。
两个控件都隐藏在datatemplates中,我不知道如何从另一个控件填充?
有什么想法吗?非常感谢!!
马特
答案 0 :(得分:0)
你可以插入一个ContentConteol,其中内容绑定到listview的选定项目 - 然后datetemplate应该处理显示 - 我会在文本框上设置readonly,因为更改文本将没有任何效果。