Связывание Видимое свойство DataGridColumn в WPF DataGrid

Я не могу привязать свойство Visible WPat datagridtextcolumn к логическому значению.

Мое обязательное выражение:

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

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

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

Видимый - свойство зависимости, поэтому он должен быть привязанным.

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

Привет,

Matt

Ответ 1

Я справился с этим.

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

Необходимо установить свойство source для привязки выражения к staticresource, и он отлично работает.

Ответ 2

Сложно сказать от такого маленького кода. Что находится в окне вывода Visual Studio (в разделе "Отладка" )? Это часто дает вам ключ к проблеме.

Ответ 4

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

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