собственности Foo
в моем DataContext
Привязать к DataContext собственности из в DataGridColumn
ViewModel {
Visibility Foo;
}
Но я не могу понять, как получить доступ к Foo
внутри Column
. В этом случае, я полагаю, что это, вероятно, ищет Foo
в какой бы объект привязан к DataGrid
ItemsSource
<DataGrid Visibility="{Binding Foo}"> // works
<DataGrid.Columns>
<DataGridTextColumn Visibility="{Binding Foo}" /> // fails
Я попытался
Binding="{Binding DataContext.Foo}"
и куча вещей с RelativeSource
тегов, а также.
Кроме того, есть ли способ просмотреть и выбрать свойство для привязки к графическому интерфейсу?
Редактировать: Оказывается, что сами столбцы не являются элементами FrameworkElements, поэтому они не могут найти предка DataGrid. Однако вы можете использовать технику в ответе ниже, чтобы связать свойства CellTemplate столбца с DataContext.
Можете ли вы уточнить, что вы подразумеваете под «select a property to bind»? Или, по крайней мере, какой желаемый эффект? – tHand
Мне было интересно, есть ли способ просмотра и выбора элементов из say, treeview, вместо того, чтобы помнить, как писать все теги Path/RelativeSource/DataContext/etc. – Matt
Я согласен, что вы можете использовать привязку RelativeSource в Adi's ответьте на «CellTemplate» ... если вам нравится это решение, я думаю, вы должны опубликовать его как решение и пометить его как ответ, так как код Adi не работает без ключевого положения использования «CellTemplate». Кто-то, просматривая этот вопрос, может разумно взглянуть на отмеченный «ответ» и предположить, что он работает, не читая ваши комментарии об обратном. Я добавил метод привязки видимости столбца, а не скрывает ячейки с помощью «CellTemplate». – TCC