2009-08-27 20 views
16

Để liên kết với DataContext hiện trong XAML bạn có thể sử dụng:XAML - Liên kết với DataContext và sử dụng trình chuyển đổi?

<TextBlock Text="{Binding}" /> 

Làm thế nào để bạn làm điều này bằng cách sử dụng chuyển đổi trong hỗn hợp? Các công trình sau đây hoạt động khi bạn có tài sản trên đường dẫn:

<TextBlock Text="{Binding MyProperty,Converter={StaticResource converter}}" /> 

Nhưng tôi không muốn làm điều đó; Tôi chỉ muốn Bind vào datacontext và không phải là datacontext.MyProperty nếu bạn nhận được những gì tôi có ý nghĩa.

Trả lời

30

Đơn giản chỉ cần bỏ qua đường dẫn:

<TextBlock Text="{Binding Converter={StaticResource converter}}" /> 

Ah chờ đợi - tôi nhận thấy câu hỏi của bạn được gắn thẻ với Silverlight. Điều này không hoạt động trong Silverlight? Nếu không, bạn có thể cần phải sử dụng cú pháp mở rộng:

<TextBlock> 
    <TextBlock.Text> 
     <Binding Converter="{StaticResource converter}" /> 
    </TextBlock.Text> 
</TextBlock> 
+4

tiếng thở dài, dễ dàng. Tôi đã để lại dấu phẩy trong đó đã phá vỡ nó. Người đầu tiên đã thực hiện thủ thuật – Dann

+3

Tuyệt vời - Tôi chưa bao giờ biết rõ về Silverlight. Đôi khi những điều có vẻ rất cơ bản trong WPF hoàn toàn vắng mặt trong Siverlight. –

+4

Hehe Tôi đã làm chính xác điều tương tự. Đã lãng phí 20 phút tốt trên một dấu phẩy ngu ngốc. Cảm ơn Chúa vì Stack Overflow. –

1

Dot dấu hiệu cũng cung cấp DataContext Ràng buộc cho các nhà phát triển SL

<TextBlock Text="{Binding Path=.,Converter={StaticResource converter}}" /> 
Các vấn đề liên quan