【问题标题】:Autocompletebox SelectedText Bug自动完成框 SelectedText 错误
【发布时间】:2012-12-28 05:47:45
【问题描述】:

我想绑定 AutocompleteBox 的 SelectedTextSelectedItem 属性,因为我的客户也希望能够输入文本并从列表中进行选择。它工作正常,但是...

MainPage 有一个 DataGrid。当我从 Grid 中选择一条记录(即 SelectedItem)时,我想将其设置在弹出窗口的 AutocompleteBox 中。有时它会起作用,但有时却不起作用。

这个问题我该怎么办?

这是我的 XAML:

<Sdk:AutoCompleteBox Grid.Column="3" Grid.Row="3" Height="18" Width="150" 
     IsTextCompletionEnabled="True" TabIndex="9" HorizontalAlignment="Left"

     Text="{Binding ElementName=ResEdit,Path=DataContext.SelectedDemoText,Mode=TwoWay}"
     ItemsSource="{Binding ElementName=ResEdit,Path=DataContext.DemoList,Mode=OneWay}"
     ItemTemplate="{StaticResource DemoTemplate}"
     ValueMemberPath="DemoCode" 
     LostFocus="AutoCompleteBox_LostFocus"
     Margin="0,0,21,0" Padding="0">
  </Sdk:AutoCompleteBox>

此属性在我的视图模型中并绑定到 DataGrid:

public InvoicesDTO SelectedInvoice
{
    get { return _selectedInvoice; }
    set
    {
        SelectedInvoice = value;
        SelectedDomoText = SelectedInvoice.DemoText.Trim();
        RaisePropertyChanged("SelectedInvoice");
    }
}

【问题讨论】:

  • 我在设置 SelectedText 属性时遇到问题 有时它应该设置正确,有时却设置不正确
  • 你能发布一些你的代码示例和/或相同的图像吗?
  • 我认为你应该帮助我处理这段代码

标签: silverlight-4.0 silverlight-3.0 silverlight-5.0 silverlight-toolkit silverlight-2.0


【解决方案1】:

您不应在 autocomplete 中同时使用函数 SelectedTextSelectedItem。这是 AutoCompleteBox 的错误.....更好的方法是在 GotFocus 和 LossFocus 上设置 textboxAutoCompleteBox 的可见性。这样你会挑衅地解决你的问题

 private void DemoAutoComplete_LostFocus(object sender, RoutedEventArgs e)
            {
                DemoTextBox.Visibility = Visibility.Visible;
                DemoAutoComplete.Visibility = Visibility.Collapsed;
                DemoTextBox.Text = OCRAutoComplete.Text;

                ((DemoVM)this.DataContext).SelectedDemoText = DemoAutoComplete.Text;
            }



private void DemoTextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        DemoAutoComplete.Text = OctTextBox.Text;
        DemoTextBox.Visibility = Visibility.Collapsed;
        DemoAutoComplete.Visibility = Visibility.Visible;
        DemoAutoComplete.Focus();
    }

【讨论】:

  • 你的回答与我的问题不相符
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多