当前位置: 首页>>代码示例>>C#>>正文


C# Control.SetBinding方法代码示例

本文整理汇总了C#中Control.SetBinding方法的典型用法代码示例。如果您正苦于以下问题:C# Control.SetBinding方法的具体用法?C# Control.SetBinding怎么用?C# Control.SetBinding使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Control的用法示例。


在下文中一共展示了Control.SetBinding方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: LoadProperty

		private static void LoadProperty(Control control, XmlAttribute attr, PropertyInfo pi, object viewModel)
		{
			object value = attr.Value;

			if (((string)value).StartsWith("{"))
				// If we start with the curly brace, then we're going to try and load a markup extension
				value = LoadMarkupExtension((string)value, control);
			else if (pi.PropertyType.IsEnumOrNullableEnum())
				value = Enum.Parse(pi.PropertyType.GetUnderlyingType(), attr.Value, true);
			else if (pi.PropertyType != Constants.STRING_TYPE)
			{
				// String values don't need to be converted
				var tc = TypeConverters[Constants.STRING_TYPE].FirstOrDefault(t => t.CanConvert(Constants.STRING_TYPE, pi.PropertyType));
				if (tc != null)
					value = tc.ConvertTo(value);
				else
				{
					// This is probably just converting between primitive types (or we're missing a type converter)

					// We need to handle nullable types as well
					var t = pi.PropertyType;
					t = Nullable.GetUnderlyingType(t) ?? t;

					// Coalesce to set the safe value using the default of t or the safe type.
					value = value == null ? t.Default() : Convert.ChangeType(value, t);
				}
			}

			if (value is Binding)
				control.SetBinding(control.GetDependencyProperty(attr.LocalName), value as Binding);
			else
				pi.SetValue(control, value, null);
		}
开发者ID:mildsauce45,项目名称:UPF,代码行数:33,代码来源:XamlProcessor.cs


注:本文中的Control.SetBinding方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。