有没有办法通过 Xaml 访问 My.Resources?
像这样
<Image Source="{Binding MyImage,
Source={x:Static my:Resources},
Converter={StaticResource MyBitmapToImageSourceConverter}}" />
这是我得到的错误: \Application.xaml(122,36): error MC3029: 'my:Resources' member is not valid 因为它没有合格的类型名称。
以上当然行不通。
注意:转换器仅用于说明。
更新:
我想到了一个想法,如果可行,这可能是一个好方法,我为资源创建了一个包装类:
Public Class Resources
Public Shared ReadOnly m_Resources As New Resources
Public Shared ReadOnly Property Resources() As Resources
Get
Return m_Resources
End Get
End Property
Public ReadOnly Property MyResources(ByVal name As String) As Object
Get
Return My.Resources.ResourceManager.GetObject(name)
End Get
End Property
End Class
然后在我的绑定中,我尝试像这样访问它:
<Setter Property="ImageSource"
Value="{Binding MyResources[Ok], Source={x:Static src:Resources.Resources}}"/>
但我仍然收到以下消息:
System.Windows.Data 错误:16:无法从“”(类型“资源”)获取“MyResources”值(类型“对象”)。BindingExpression:Path=MyResources[Ok]; DataItem='资源' (HashCode=59109011); 目标元素是“图像”(名称=“btnOk”);目标属性是'Source'(类型'ImageSource')TargetParameterCountException:'System.Reflection.TargetParameterCountException:参数计数不匹配。
顺便说一句,我在 MyResources Getter 中放置了一个测试 MessageBox,似乎根本没有访问该属性。