У меня есть пользовательский элемент управления WPF со списком. Я хочу передать выбранный элемент в поле списка вызывающему элементу через привязку. Как я могу это достичь?Передача выбора пользовательского элемента управления WPF для управления хостом
2
A
ответ
1
Вы можете открыть новое свойство для SelectedItem для своего пользовательского элемента управления и связать его с дочерним элементом управления ListBox.
код для пользовательского элемента управления (я унаследовал от контроля, хотя):
public class CustomListControl : Control
{
static CustomListControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomListControl), new FrameworkPropertyMetadata(typeof(CustomListControl)));
SelectedItemProperty = ListBox.SelectedItemProperty.AddOwner(typeof(CustomListControl));
}
public static readonly DependencyProperty SelectedItemProperty;
public Object SelectedItem
{
get { return this.GetValue(SelectedItemProperty); }
set { this.SetValue(SelectedItemProperty, value); }
}
}
И добавить связывание с внутренней ListBox на свой UserControl в Generic.xaml разметке:
<ListBox
SelectedItem="{Binding RelativeSource={RelativeSource AncestorLevel=1, AncestorType={x:Type local:CustomListControl},Mode=FindAncestor},Path=SelectedItem, Mode=TwoWay}"
</ListBox>
Смежные вопросы
- 1. Создание пользовательского элемента управления WPF
- 2. WPF/XAML: ярлык для пользовательского элемента управления
- 3. события пользовательского управления wpf
- 4. Инициализация пользовательского управления wpf
- 5. Генератор пользовательского управления WPF
- 6. Передача данных в несколько экземпляров пользовательского элемента управления в WPF
- 7. Databinding для пользовательского элемента управления
- 8. Использование пользовательского элемента управления WPF в WinForms
- 9. Сопоставление пользовательского элемента управления внутри элемента управления
- 10. Пользовательские атрибуты пользовательского элемента управления WPF
- 11. Получить данные из пользовательского элемента управления в wpf для пользовательского элемента управления?
- 12. Создание прокручиваемого пользовательского элемента управления WPF
- 13. Навигация в панели управления WPF изнутри пользовательского элемента управления?
- 14. WPF Компоновка пользовательского элемента управления в перспективе
- 15. Добавление пользовательского элемента управления WPF из кода
- 16. Поднятие пользовательского события из элемента управления WPF
- 17. Передача переменных из пользовательского элемента управления в пользовательский элемент управления
- 18. Привязки внутри пользовательского элемента управления WPF
- 19. WPF Загрузка пользовательского элемента управления с кодом
- 20. Создание пользовательского элемента управления в WPF
- 21. WPF: Передача элемента управления TabItem классу контроллера
- 22. Привязка пользовательского элемента управления к WPF ComboBox?
- 23. Команда WPF: параметр из пользовательского элемента управления
- 24. WPF дизайн пользовательского элемента управления вопрос
- 25. Перемещение пользовательского элемента управления внутри другого пользовательского элемента управления
- 26. Pass ViewData для пользовательского элемента управления MVC
- 27. Отображение пользовательского значка для пользовательского элемента управления?
- 28. Управление событиями пользовательского управления WPF
- 29. Центрирование элемента управления WPF
- 30. Выходное кэширование пользовательского элемента управления (серверного управления)
Вы имеете в виду передавая его родительскому элементу управления, в котором находится ваш пользовательский элемент управления? Вы используете MVVM? Как вы заполняете свой список? Пожалуйста, предоставьте как можно больше деталей, и некоторый код (xaml в вашем usercontrol) упростит вам предоставление правильного ответа. – akjoshi
Да, надеюсь, вы используете какой-то вариант MVVM или вариант модели презентации, поэтому вы можете привязать свой список управления пользователя SelectedItem к свойству модели, которое затем подвергается воздействию вашего родительского элемента управления (который в tern привязывается к нему). –