Tôi có một số DataTemplate
mà tôi đang sử dụng làm CellTemplate
cho số GridViewColumn
.WPF sẽ không cho phép tôi đặt một ràng buộc trên con đường của một ràng buộc - có cách nào khác không?
Tôi muốn viết một cái gì đó như thế này cho các DataTemplate
:
<DataTemplate
x:Key="_myTemplate">
<TextBlock
Text="{Binding Path={Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GridViewColumn}}, Path=Header}}" />
</DataTemplate>
GridView
của tôi là ràng buộc với một DataTable
, và tôi muốn để ràng buộc vào cột của DataTable
có tên là bằng Header của GridViewColumn
số DataTemplate
được đính kèm. [Tôi hy vọng điều đó có ý nghĩa!]
Thật không may, điều này không hiệu quả. Tôi nhận được một XamlParseException: "A 'Binding' không thể được đặt trên thuộc tính 'Đường dẫn' của loại 'Binding'. Một 'Binding' chỉ có thể được thiết lập trên DependencyProperty của một DependenceyObject."
Tôi làm cách nào để thiết lập điều này?
Sửa (nâng bình luận bằng DanM cho câu hỏi)
tôi về cơ bản cần một DataTemplate
mà ràng buộc được xác định bởi DataContext
và đó cột DataTemplate
được gắn vào. Có cách nào khác không?
Không chắc chắn lý do tại sao bạn đã gắn thẻ trang này là silverlight RelativeSource không được hỗ trợ trong silverlight – AnthonyWJones
Xin lỗi về điều đó, Anthony. Tôi không biết Silverlight không hỗ trợ RelativeSource. Tuy nhiên, tôi chưa kết hôn với việc sử dụng RelativeSource, vì vậy nếu có một giải pháp XAML cho câu hỏi của tôi không sử dụng nó, tôi vẫn muốn nghe nó. – devuxer