我需要Silverlight 4组合框的SelectedValue属性作为DependencyPproerty通过反射,但我不知道如何做到这一点。ComboBox SelectedValue通过反射作为DependencyProperty
myComboBox.GetType().GetFields()
回报DependencyProperties但只有四个组合框的属性返回和的SelectedValue是不是其中之一。
myComboBox.GetType().GetProperty("SelectedValue")
获取属性,但它是一个System.Object而不是一个DependencyObject。
我最终试图去控制的绑定,这需要一个DependencyProperty不是一个对象。
编辑:
这是在行为发生的事情,我不知道控制是什么,我有一个ComboBox控件的工作现在。我所拥有的是从XAML传递的字符串。在WPF中,我可以使用mySource="{x:Static ComboBox.SelectedValueProperty}"
作为DependencyProperty,但Silverlight在XAML中没有x:Static
。所以我试图将mySource="SelectedValue"
转换为DependencyProperty。
其实这是在行为发生的事情,我不知道控制是什么,我现在正在使用ComboBox控件。我所拥有的是从XAML传递的字符串。在WPF中,我可以使用mySource =“{x:Static ComboBox.SelectedValueProperty}”作为DependencyProperty,但Silverlight在XAML中没有x:Static。所以我试图将mySource =“SelectedValue”转换为DependencyProperty。 – strattonn 2010-12-15 15:30:15
看起来不错,唯一的问题是GetProperty(“SelectedValueProperty”)返回null,GetProperty(“SelectedValue”)返回的对象不是DependencyProperty。 (GetFields需要添加“属性”。) – strattonn 2010-12-15 15:56:53
这是一个错误。代码更新为使用'GetField'代替。 – decyclone 2010-12-15 16:00:11