Tôi tìm thấy một câu hỏi hỏi về cách để tránh thêm bộ chuyển đổi giá trị tùy chỉnh để tài nguyên ứng dụng của một người:WPF: Làm cách nào để đăng ký thêm các trình biến đổi giá trị tiềm ẩn?
Using Value Converters in WPF without having to define them as resources first
Tuy nhiên tôi muốn đi một bước xa hơn và đăng ký chuyển đổi mà sau đó tiềm ẩn, như trong ví dụ này:
<SolidColorBrush Color="Blue" />
Ở đây, tôi giả định rằng một số ngầm định "StringToSolidColorBrushConverter" đang khởi động làm cho ví dụ hoạt động.
Ví dụ này không không công việc:
<Window.Resources>
<Color x:Key="ForegroundFontColor">Blue</Color>
</Window.Resources>
<TextBlock Foreground={StaticResource ForegroundFontColor}>Hello</TextBlock>
Tôi tin rằng đó là bởi vì không có implcit ColorToSolidColorBrushConverter
rằng WPF chỉ có thể nhặt và sử dụng. Tôi biết làm thế nào để tạo ra một, nhưng làm thế nào tôi sẽ "đăng ký" nó để WPF sử dụng nó automagically mà không cần chỉ định chuyển đổi trong biểu thức ràng buộc ở tất cả?
Đó [tính năng được cung cấp qua 'TypeConverter's] (http://msdn.microsoft.com/en-us/library/aa970913.aspx), và tôi không hoàn toàn chắc chắn rằng bạn có thể tiêm nó vào thời gian chạy trong một thời trang lành mạnh vì nó đòi hỏi các thuộc tính trên các lớp hoặc các thuộc tính mà bạn không sở hữu. – user7116