Привязка Видимое свойство DataGridColumn в WPF DataGrid - PullRequest
3 голосов
/ 21 марта 2009

Я не могу связать свойство Visible столбца данных WPF с логическим значением.

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

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

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

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

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

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

С уважением,

Мэтт

Ответы [ 4 ]

8 голосов
/ 21 марта 2009

Я с этим разобрался.

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

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

1 голос
/ 22 июня 2010

Я искал то же самое и нашел отличный способ сделать это в статье о пересылке текста данных в столбцы .

1 голос
/ 21 марта 2009

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

0 голосов
/ 16 февраля 2010

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

BindingOperations.SetBinding(DatagridColumInstance,
                             DatagridColum.VisibilityProperty,
                             myNewBindDef);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...