Это рабочий раствор, однако при выборе для изменения SelectedItemsProperty не обновляется привязок ...
вы можете создать настраиваемое управление, как показано ниже:
public class MyListBox: ListBox{
public MyListBox()
{
this.SelectionChanged += (s,e)=>{ RefreshBindings(); };
}
private void RefreshBindings()
{
BindingExpression be =
(BindingExpression) GetBindingExpression(
SelectedItemsProperty);
if(be!=null){
bd.UpdateTarget();
}
}
}
или в вашем приложении вы можете определить событие в каждом ListBox, как показано ниже ..
myListBox.SelectionChanged += (s,e) => {
BindingExpression be =
(BindingExpression) myListBox.GetBindingExpression(
ListBox.SelectedItemsProperty);
if(be!=null){
bd.UpdateTarget();
}
};
Нет У меня есть несколько выбранных элементов, и я хочу, чтобы показать их в ListBox в выбранном состоянии – Polaris
Поскольку это свойство только для чтения, вы не можете использовать его за то, что хотеть. Единственное, о чем я могу думать, это установить отдельные свойства ListBoxItem.IsSelected. Если вы настаиваете на привязке, самый простой путь - создать для вас, например. прикрепленный SelectedItems 'DependencyProperty' с настраиваемой логикой в обработчике обработчика свойства. – wpfwannabe