0
我一直在编写一些类,这些类将用在窗口的XAML定义中。我记得使用一个称为 - AFAIR - ConstructorParameter的属性,它通知XAML解析器,与此属性相对应的某些XML属性应视为构造函数参数而不是属性设置器。C#/ ConstructorParameter属性
我已经在互联网上来回搜索,找不到该属性属于哪个程序集。谁能帮忙?
此致敬礼 - Spook。
我一直在编写一些类,这些类将用在窗口的XAML定义中。我记得使用一个称为 - AFAIR - ConstructorParameter的属性,它通知XAML解析器,与此属性相对应的某些XML属性应视为构造函数参数而不是属性设置器。C#/ ConstructorParameter属性
我已经在互联网上来回搜索,找不到该属性属于哪个程序集。谁能帮忙?
此致敬礼 - Spook。
通常你会想要一个默认的构造函数和一个属性来获得额外的值。
我在wpfwiki上找到了this article。 ...
典型的XAML声明语法 最终总是使用 其默认的构造函数创建对象。大部分是 的时间,这不是问题。然而, 某些类具有构造函数,其中某些参数取值为 ,或者根本没有 具有默认构造函数。在这些 的情况下,仍然可以使用ObjectDataProvider类在XAML中声明 。以下 销售点系统代码 代码段在 Window.Resources部分显示此类声明。
<Window x:Class="WindowsApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System"
Title="ObjectDataProvider Sample"
Height="300"
Width="300"
>
<Window.Resources>
<ObjectDataProvider ObjectType="{x:Type CornerRadius}"
x:Key="MyCornerRadius">
<ObjectDataProvider.ConstructorParameters>
<system:Double>10.5</system:Double>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Window.Resources>
<Grid>
<TextBlock Text="{Binding Source={StaticResource MyCornerRadius}, Path=TopLeft}"/>
</Grid>
</Window>
我发现了我正在搜索的属性,它是ConstructorArgument。然而,我很快意识到,这个id并没有做到我所猜测的那样,而且无论如何我将实现无参数的构造函数 - 正如你所提到的那样。感谢帮助! – Spook 2011-04-07 06:18:38