当我将 x:FieldModifier 应用于我的 WPF 控件时,例如:
<TextBox x:Name="textBox1" x:FieldModifier="Public"/>
Visual Studio(在 2008 年和 2010 年尝试过)给我以下错误:
x:FieldModifier 对 C# 语言无效
我怎么解决这个问题?
编辑:对不起,我想公开...
使用小写“公共”而不是“公共”
<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>
你确定你真的需要 FieldModifier
吗?如果你不包括它会发生什么?
从文档中:
x:FieldModifier 与声明类或其成员的一般访问级别无关。当作为 XAML 产品一部分的特定 XAML 对象被处理并成为可能在应用程序的对象图中可访问的对象时,它仅与 XAML 处理行为相关。默认情况下,此类对象的字段引用是私有的,这样可以防止控制使用者直接修改对象图。相反,控制使用者应该使用编程模型启用的标准模式来修改对象图,例如通过获取布局根、子元素集合、专用公共属性等。