public class UserServiceImpl implements UserService { }
我想在代码中将public enum Type
{
One = 1,
Two = 2,
Three = 3
}
public void Method()
{
Type type = Type.One;
var binding = new Binding(type - ???);
binding.Converter = ?????;
var child = new FrameworkElementFactory(typeof(ComboBox));
child.SetValue(ComboBox.ItemsSourceProperty, Enum.GetValues(typeof(Type)));
child.SetValue(ComboBox.SelectedValueProperty, binding);
}
绑定到XAML。但是我不知道该怎么做。而且我不知道转换器(Enum <-> String)的名称。我只知道这是标准转换器。
问题:
答案 0 :(得分:0)
将绑定的Source
设置为要绑定的对象。如果对象实现INotifyPropertyChanged
,则使用Path
来侦听特定属性,并在设置属性时引发属性更改事件。
我不确定是否有标准的枚举到字符串转换器,尽管您可以在绑定上使用StringFormat
或实现自定义转换器。您将DependencyProperty
绑定到其中会进行一些自动类型转换,因此您甚至不需要它。
您可以在此处找到作为接口派生类型的“标准”转换器列表。https://docs.microsoft.com/en-gb/dotnet/api/system.windows.data.ivalueconverter?view=netframework-4.7.2
您还需要使用SetBinding
在DependencyProperty
的{{1}}上实际设置绑定。参见https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-create-a-binding-in-code