[英]Binding result from AutoCompleteTextbox
我正在使用此wpf控件: https : //wpfautocomplete.codeplex.com/
该控件接受用户输入,并调用一个方法,该方法从MaquinasSuggestionProvider返回一个IEnumerable,该IEnumerable实际上是一个List。 将创建一个模板来显示此结果,并且ID将显示在文本框中。
我需要的是,在用户选择正确的建议之后,该列表中的对象Maquina被绑定到具有该类型属性的实际数据上下文,以便在标签上显示Maquina的其他属性。
<wpf:AutoCompleteTextBox x:Name="tboxId"
Grid.Column="5" Grid.Row="2" Text="" Watermark="Ingresar valor"
Provider="{StaticResource ResourceKey=MaquinasSuggestionProvider}"
DisplayMember="ID"
ItemTemplate="{StaticResource ResourceKey=MaquinaTemplate}"
RenderTransformOrigin="1.333,-1.13" FontSize="32"
KeyDown="tboxId_KeyDown" Margin="0,6,0,0" Height="52"
VerticalAlignment="Top" PreviewMouseLeftButtonDown="tboxId_PreviewMouseLeftButtonDown" d:IsLocked="True"/>
<Label x:Name="lbDescripcion2" Content="{Binding Path=Maquina.Descripcion}" Grid.Column="5" Margin="0,58,0,0" Grid.Row="2" VerticalAlignment="Top" FontSize="20" Height="38" HorizontalAlignment="Right" Width="302" Grid.RowSpan="2" Grid.ColumnSpan="2" d:IsLocked="True"/>
我不明白我必须在哪里指定必须将建议列表中的所选对象分配给当前数据上下文。
我试图做一个解决方法,当用户单击建议时分配一个事件,然后手动创建对象Maquina并将其分配给数据上下文,但是我找不到一个在选择时触发的事件。 由于此应用程序在平板电脑上运行,因此用户输入不是来自键盘,而是来自屏幕键盘上的wpf。
提前致谢。
编辑:ItemTemplate:
<DataTemplate x:Key="MaquinaTemplate" DataType="Modelo:Maquina">
<StackPanel Style="{StaticResource ResourceKey=StackPanelStyle}">
<TextBlock Text="{Binding ID}" />
<TextBlock Text="{Binding Descripcion}"/>
<Separator Style="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />
</StackPanel>
</DataTemplate>
编辑:由于我不使用Silverlight,并且我不使用AutoCompleteBox,所以不重复,但是我在帖子开头链接了wpf控件。
就像在AutoCompleteTextBox中添加以下行一样简单:
SelectedItem="{Binding Maquina, Mode=TwoWay}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.