Я могу поддержать дальнейший ответ Рубена с помощью сравнения двух отображаемых сообщений:
[/g3]
и сообщение:
C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1697,5): предупреждение MSB3277: обнаружены конфликты между различными версиями одной и той же зависимой сборки, которые невозможно было решить , Эти ссылочные конфликты перечислены в журнале сборки, когда длина журнала задана как подробное.
blockquote>Итак, право Рубена - это просто неверно. Нет никаких конфликтов, просто отсутствует сборка. Это особенно скучно, когда проект является приложением ASP.NET, поскольку представления компилируются по требованию, то есть непосредственно перед отображением в первый раз. Это происходит тогда, когда становится необходимым наличие сборки. (Существует возможность предварительно скомпилировать представления вместе с остальной частью кода, но это другая история .) С другой стороны, если вы установите многословие в Diagnostic, вы получите следующий результат:
C: \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1697,5): предупреждение MSB3245: Не удалось устранить эту ссылку. Не удалось найти сборку «System.Web.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL». Убедитесь, что сборка существует на диске. Если эта ссылка требуется вашим кодом, вы можете получить ошибки компиляции.
blockquote>В результате все, что вам нужно сделать, это либо:
- Добавить ссылку на сборку вручную (найдите ее на диске, возможно, GAC, и добавьте ее как «прямую» ссылку), или
- Используйте пакет NuGet (если он опубликован в галерее), чтобы загрузить его и ссылаться на сборку
Подробнее о галерее NuGet здесь . Подробнее о прекомпиляции представлений ASP.NET здесь .
Проверьте следующую статью в CodeProject: A Reusable WPF Autocomplete TextBox
Поле комбинированного списка WPF не поддерживает Автоматическое заполнение
, Вот образец, который позволяет Вам делать это косвенным способом путем применения фильтра к объектам.
См. http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/cec1b222-2849-4a54-bcf2-03041efcf304/
Вы могли попытаться обработать события ComboBox's TextInput или PreviewTextInput, делание текста ищет себя, выбирая самый соответствующий объект, и устанавливая "e. Обработанный = верный". Просто мысль.Надеюсь, это поможет!
редактирование:
Это работает на отдельный символ (т.е. если Вы введете букву "j", то это выберет первый объект, который содержит "j" или "J"), но я уверен, что существует способ сделать это с Вашим управлением.Приятного отдыха!
private void MyComboBox_PreviewTextInput(object sender, TextCompositionEventArgs e) {
foreach (ComboBoxItem i in MyComboBox.Items) {
if (i.Content.ToString().ToUpper().Contains(e.Text.ToUpper())) {
MyComboBox.SelectedItem = i;
break;
}
}
e.Handled = true;
}
Насколько я знаю, что нет никакого способа вынудить стандартный ComboBox вести себя этот путь, просто изменив настройки. Таким образом, необходимо будет реализовать собственную производную поля комбинированного списка для этого или искать готовое стороннее управление (я полагаю, что существуют многие из них).