供参考 通过Infragistic和Microsoft分析WPF示例的源代码

德拉科星座

新成员
已加入
2016年6月17日
留言内容
2
编程经验
5-10
再会。
WPF是如此独特,尽管有时它非常简单,但确实令人困惑(此论坛分支是另一证明)。
有趣的是,即使是大型公司,在开发WPF应用程序时也会遇到很多麻烦。即使在他们自己的示例中,这似乎也很完美。
例如,Infragistics公司写道:
在里面"IGExtensions.Common.WPF"项目,在文件中"LambertConformalConic.cs"我们看到了以下字符串"DependencyProperty" registration:
C#:
public static readonly DependencyProperty CentralMeridianProperty
 = DependencyProperty.Register("CentralMeridianProperty",
                               typeof(double), 
                               typeof(LambertConformalConic),
                               new PropertyMetadata(0.0, new PropertyChangedCallback(UpdateConstants)));
为了从C#代码写入/读取依赖项福彩12选5走势图,程序员创建了以下福彩12选5走势图:
C#:
public double CentralMeridian {
  get { return (double)GetValue(CentralMeridianProperty);  }
  set { SetValue(CentralMeridianProperty, value); } 
}
或者
C#:
public static readonly DependencyProperty
 AxisFinancialIndicatorYTemplateProperty =
  DependencyProperty.Register("AxisFinancialIndicatorYTemplate",
    typeof(DataTemplate),
    typeof(DataChartEx),
    new PropertyMetadata(default(DataTemplate)));

public DataTemplate AxisCategoryYTemplate{
 get { return (DataTemplate)
  GetValue(AxisFinancialIndicatorYTemplateProperty); }
 set { 
  SetValue(AxisFinancialIndicatorYTemplateProperty, value); }
}
Infragistics通过使用"AxisCategoryYTemplate"名称,而不是注册名称"AxisFinancialIndicatorYTemplate".
在这里阅读更多: 分析Infragistics公司的WPF示例的源代码

甚至Microsoft本身也有很多错误。
例如。
C#:
public double Radius
{
  get { return (double) GetValue(RadiusProperty); }
  set { SetValue(RadiusProperty, value); }
}
public static readonly DependencyProperty 
  RadiusProperty = DependencyProperty.Register(
    "RadiusBase",
    typeof (double),
    typeof (FireworkEffect),
    new FrameworkPropertyMetadata(15.0));
在这种特殊情况下,为依赖项福彩12选5走势图注册的名称与用于从代码访问DependencyProperty的包装器福彩12选5走势图的名称不匹配。使用XAML标记工作时,此选项会导致大问题。 WPF允许从XAML访问简单福彩12选5走势图Radius并从中读取值,但是不会从XAML获取此福彩12选5走势图的更改。

在这里阅读更多: Microsoft检查了WPF示例的源代码
 
最佳 底部