我有一个带有这些数据绑定的自动完成框:
<sdk:AutoCompleteBox Height="23" HorizontalAlignment="Left" Margin="80,21,0,0" Name="comboBox_clients" VerticalAlignment="Top" Width="171" ItemsSource="{Binding}" IsTextCompletionEnabled="True" IsDropDownOpen="True" ValueMemberPath="client_code">
<sdk:AutoCompleteBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding client_code}" Name="left" Width="70" />
<TextBlock Text="{Binding client_name}" Name="right" Width="250" />
</StackPanel>
</DataTemplate>
</sdk:AutoCompleteBox.ItemTemplate>
</sdk:AutoCompleteBox>
它像我想要的那样工作,但它出现在一个加载很多的表单上,并且因为自动完成框有几千个项目,所以在初始加载时需要两到三秒才能将所有字符串编入索引/按顺序/无论如何一次我将它与适当的 observablecollection 绑定。
相反,我想将 autocompletebox 对象保留为全局对象,因此几秒钟的索引时间仅发生在第一次加载时,然后在随后打开窗口期间,表单上的 autocompletebox 可以设置为全局对象。我将如何在代码中复制这个数据绑定结构?