Видимость привязки Silverlight DataGridTextColumn
Следуя моему предыдущему сообщению, я сейчас пытаюсь связать видимость DataGridColumns со свойством уведомления виртуальной машины. MSDN предлагает мне быть в состоянии сделать это с легкостью.
У меня уже есть конвертер значений и свойство уведомления VM, которое, как я знаю, работает (я проверил их на другом элементе на моей странице:
<CheckBox x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/>
Этот флажок контроля видимости реагирует так, как я и ожидал. Когда я устанавливаю такую же привязку в DataTextColumn, я получаю ошибку AG_E_BAD_PARSER в строке Visibility= XAML:
<data:DataGridTextColumn
Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"
/>
Любые идеи кто-нибудь? Спасибо Марк
4 ответа
Видимость на DataGridTextColumn отличается от этого флажка. По сути, это не свойство зависимости и не может быть привязано к данным. Если вам нужна эта функциональность, вы можете создать подкласс DataGridTextColumn и добавить собственное свойство зависимости, чтобы получить поведение.
- Rectangle получает свое свойство Visibility от UIElement и является свойством зависимости
- DataGridTextColumn получает видимость от DataGridColumn и не является свойством зависимости.
Я добавил ответ на похожий вопрос: Silverlight: Как связать DataGridColumn.Visibility?
Вам нужно будет использовать табличку с данными:
<(UIELEMENT HERE) x: Name = "chkAllTeams" Visibility = "{Binding Converter = {StaticResource BoolToVisibilityConverter}, Path = AllTeams}" /> DataTemplate>
Как упоминалось ранее, только UIElement имеет свойство зависимости "Visibility".
Чтобы увидеть пример этого в контексте: