Я пытаюсь привязать свойство IsEnabled кнопки к свойствам CollectionViewSource окна. Я делаю это для реализации кнопок «Первая/Предыдущая/Следующая/Последняя» и хочу, чтобы первая и предыдущая были отключены, когда представление относится к первому элементу и т. Д.Binding Button.IsEnabled to position of current в CollectionView
У меня есть источник источника коллекции, пользовательский интерфейс связывается с это правильно, с доступом к его представлению в коде, поэтому обработчики событий кликов прекрасно работают при навигации по представлению.
<CollectionViewSource x:Key="cvMain" />
DockPanel является корневым элементом окна
<DockPanel DataContext="{StaticResource cvMain}">
FoJobs является наблюдаемой коллекцией, cvJobs является CollectionView, который я использую в обработчик щелчка данной кнопки
private void Window_Loaded(object sender, RoutedEventArgs e) {
((CollectionViewSource)Resources["cvMain"]).Source = FoJobs;
cvJobs = (CollectionView)((CollectionViewSource)Resources["cvMain"]).View;
}
У меня есть попробовал это, но получил ошибку привязки «Ошибка пути BindingExpression:« Свойство не найдено в «объекте» '' ListCollectionView ''
<Button Name="cbFirst" Click="cbMove_Click" IsEnabled="{Binding Source={StaticResource cvMain}, Converter={StaticResource CurrPos2BoolConverter}}" />
Я пытаюсь сделать с конвертером сначала, но рисунок стиля с триггерами будет более эффективным, но не может получить доступ к представлению коллекции. Несмотря на то, что базовый datacontext установлен в источник представления коллекции, привязка передается в конвертер в качестве источника представления (если я не эксплицирован, установите источник привязки, как указано выше), который не имеет валютных свойств (CurrentPosition, Count и т. Д.).
Любая помощь была бы принята с благодарностью.
попытайтесь изменить атрибут Source на ElementName. Может быть, его помощь. – stukselbax
Где вы показываете данные? 'DataGrid' или ... –
Я не понимаю, как я могу использовать ElementName, поскольку представление коллекции объявляется в ресурсах окна, а не как элемент визуального дерева. –