2009-03-21 3 views
3

Я не могу привязать свойство Visible WPat datagridtextcolumn к логическому значению.Связывание Видимое свойство DataGridColumn в WPF DataGrid

Мое связывание выражение,

{Binding Path=DataContext.IsThisColumnVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window},Converter={StaticResource vc}} 

Я проверил, что преобразователь работает (BOOL к видимости перечислимого) и находится в области видимости.

Если я использую одно и то же выражение для заголовка столбца, заголовок отображает «false», как и ожидалось.

Видимое свойство зависимостей, поэтому его следует связывать.

Кто-нибудь видит, что я делаю неправильно? Или кому-то еще удалось привязать видимое свойство.

С уважением,

Matt

ответ

8

Я работал над этим.

DataGridColumn не рамочный элемент поэтому вызов FindAncestor терпел неудачу (DataGridColumn не является частью визуального дерева)

должны установить источник свойство связывания выражение в StaticResource и она отлично работает.

+0

Может ли кто-нибудь показать пример этого? – Karsten

+8

Вот пример использования прокси-сервера StaticResource для пересылки DataContext: http://tomlev2.wordpress.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not -inherited/ – surfen

+0

Я использую MVVM, и он работал finde с предоставленной ссылкой: http://www.thomaslevesque.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext -is-not-inherited/ – Pascalsz

1

Трудно сказать, из так мало кода. Что находится в окне вывода Visual Studio (в разделе «Отладка»)? Это часто даст вам ключ к проблеме.

0

Если вы можете связать с кодом вы можете использовать

BindingOperations.SetBinding(DatagridColumInstance, 
          DatagridColum.VisibilityProperty, 
          myNewBindDef); 
1

Я искал то же самое и нашли Execellent способ сделать это в an article about forwarding datacontext to columns.

+2

Да. пересылка datacontext - это путь. Подобный, но ИМХО более простой подход: http://tomlev2.wordpress.com/2011/03/21/wpf-how-to-bind-to-data-when-the-datacontext-is-not-inherited/ – surfen

 Смежные вопросы

  • Нет связанных вопросов^_^