Относительно просто добавить функциональность, вы можете наследовать элемент управления.Установка SelectedItem = null
изменит selectedIndex
и selectedValue
так, как вы хотите.
Затем вы также можете получить доступ к свойству Text
, чтобы напрямую установить текст по умолчанию для поля со списком.
// sample code snippet
public NewDropDown()
{
this.SelectionChanged += NewDropDown_SelectionChanged;
this.Loaded += NewDropDown_Loaded;
}
void NewDropDown_SelectionChanged( object sender, SelectionChangedEventArgs e )
{
if ( e.AddedItems.Count == 0 && this.SelectedItem == null )
{
this.Text = "Please Select..";
}
}
Устанавливает текст, когда выбранное значение отсутствует.Он не будет отображаться как выбираемый параметр в списке, чтобы обойти это, вы можете либо ввести null
в качестве значения в списке (как говорит @DanJ), либо я добавил кнопку в шаблон элемента управления, которая обнуляет комбинированный список.
Хотя я на самом деле не смотрел на это и не вижу события ItemsSourceChanged, это может быть событие в элементе управления, которое позволит вам ввести null в каждое поле со списком, избавляя вас от хлопот в вашемViewModels.