当我将x:FieldModifier应用于我的WPF控件时,例如:
<TextBox x:Name="textBox1" x:FieldModifier="Public"/>
视觉工作室(2008年和2010年试过)给了我以下错误:
x:FieldModifier无效 语言C#
我该如何解决这个问题?
编辑:对不起,我想将其公之于众......
答案 0 :(得分:6)
使用小写'public'而不是'Public'
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TextBox Name="TEst" x:FieldModifier="public" Text="nothing" />
</Grid>
答案 1 :(得分:2)
您确定需要 FieldModifier
吗?如果你不包含它会怎么样?
x:FieldModifier与声明类或其成员的常规访问级别无关。当处理属于XAML生成的特定XAML对象并且成为可能在应用程序的对象图中访问的对象时,它仅与XAML处理行为相关。默认情况下,此类对象的字段引用保持私有,这会阻止控件使用者直接修改对象图。相反,控制消费者应该使用由编程模型启用的标准模式来修改对象图,例如通过获取布局根,子元素集合,专用公共属性等。