Передача общих списков в пользовательский контроль WPF - PullRequest
0 голосов
/ 14 января 2010

Я хочу создать пользовательский контроль, который принимает списки различных объектов. Эти объекты будут назначены элементу управления во время разработки. Теперь я хочу иметь возможность использовать linq для сортировки этого списка в пользовательском контроле. Кто-нибудь может дать мне какие-нибудь идеи, как это сделать?

1 Ответ

3 голосов
/ 14 января 2010

Добавьте DependencyProperty типа ObservableCollection<T> в свой класс управления пользователем (например, назовите его MyItemsSource). В вашем содержащем XAML свяжите это свойство с вашей коллекцией Linq, а внутри пользовательского элемента управления свяжите свой ListBox (или другой ItemsControl) со свойством следующим образом:

{Binding 
    RelativeSource={RelativeSource 
                        Mode=FindAncester, 
                        AncestorType=UserControl}, 
    Path=MyItemsSource}

В качестве альтернативы вы можете установить свойство Name внутри пользовательского элемента управления в элементе верхнего уровня (элемент UserControl), например, MyUserControl, и связать с ElementName вместо RelativeSource как например:

{Binding ElementName=MyUserControl, Path=MyItemsSource}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...