我在ListView中有一个ComboBox和TextBox,如何将SelectedValue绑定到Text,我的代码:
<GridViewColumn Width="130">
<GridViewColumnHeader Content="Caracteristica" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ComboBox x:Name="cmbCaracteristica" Width="100" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="100">
<GridViewColumnHeader Content="Tipo" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBox x:Name="txtTipoValor" Text="{Binding Path=SelectedValue, ElementName=cmbCaracteristica, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" TextAlignment="Left"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
这不起作用。 PD:ComboBox的ItemSource在C#中加载。
答案 0 :(得分:0)
您是否尝试过 DisplayMemberPath 属性?在同样的情况下适合我。
<ListView DisplayMemberPath="MainList" </ListView>
适用于MainList中的所选项目,您可以对文本框执行相同操作。
答案 1 :(得分:0)
将SelectedItem
的{{1}}属性绑定到ComboBox
T
中IEnumerable<T>
类型的属性,然后绑定ItemsSource
}到相同的源属性:
TextBox
确保<GridViewColumn Width="130">
<GridViewColumnHeader Content="Caracteristica" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ComboBox x:Name="cmbCaracteristica" Width="100"
SelectedItem="{Binding SelectedItem}" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="100">
<GridViewColumnHeader Content="Tipo" />
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<TextBox x:Name="txtTipoValor"
Text="{Binding Path=SelectedItem, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" TextAlignment="Left"/>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
类型实现INotifyPropertyChanged接口。
您无法使用T
将一个CellTemplate
中的元素绑定到另一个CellTemplate
中的元素。