Видимость привязки Silverlight DataGridTextColumn
Следуя моему предыдущему сообщению теперь я пытаюсь привязать видимость DataGridColumns к свойству уведомления VM. MSDN предлагает мне сделать это с легкостью.
У меня уже есть значение преобразователя и свойство уведомления VM, которое работает know (я тестировал их на другом элементе на моей странице:
<CheckBox x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/>
Эта видимость контроля флажка реагирует так, как я ожидал. Когда я устанавливаю ту же привязку в DataTextColumn, я получаю ошибку AG_E_BAD_PARSER в строке видимости XAML:
<data:DataGridTextColumn
Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"
/>
Какие-нибудь идеи?
Благодаря,
Марк
Ответы
Ответ 1
Видимость в DataGridTextColumn - это другой зверь на флажке. В принципе, это не свойство зависимостей и не может быть привязано к данным. Если вам нужна эта функциональность, вы можете подклассифицировать DataGridTextColumn и добавить собственное свойство зависимостей для получения поведения.
- Rectangle получает свое свойство Visibility от UIElement и является свойством зависимости
- DataGridTextColumn получает свою видимость из DataGridColumn и не является свойством зависимости.
Ответ 2
Я добавил ответ на аналогичный вопрос: Silverlight: как привязать DataGridColumn.Visibility?
Ответ 3
Вы установили BoolToVisibilityConverter в качестве ресурса?
Ответ 4
Вам нужно будет использовать файл данных:
< DataTemplate x: Ключ = "cBDT" >
< (UIELEMENT HERE) x: Name= "chkAllTeams" Видимость = "{Конверсия связывания = {StaticResource BoolToVisibilityConverter}, Path = AllTeams}" /" > </DataTemplate>
Как уже упоминалось ранее, только UIElement имеет свойство зависимостей "Видимость".
Чтобы увидеть пример этого в контексте:
http://blogs.msdn.com/scmorris/archive/2008/04/14/defining-silverlight-datagrid-columns-at-runtime.aspx