3

当我将 x:FieldModifier 应用于我的 WPF 控件时,例如:

<TextBox x:Name="textBox1" x:FieldModifier="Public"/>

Visual Studio(在 2008 年和 2010 年尝试过)给我以下错误:

x:FieldModifier 对 C# 语言无效

我怎么解决这个问题?

编辑:对不起,我想公开...

4

2 回答 2

7

使用小写“公共”而不是“公共”

<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>

于 2011-02-22T16:13:02.410 回答
2

你确定你真的需要 FieldModifier吗?如果你不包括它会发生什么?

文档中

x:FieldModifier 与声明类或其成员的一般访问级别无关。当作为 XAML 产品一部分的特定 XAML 对象被处理并成为可能在应用程序的对象图中可访问的对象时,它仅与 XAML 处理行为相关。默认情况下,此类对象的字段引用是私有的,这样可以防止控制使用者直接修改对象图。相反,控制使用者应该使用编程模型启用的标准模式来修改对象图,例如通过获取布局根、子元素集合、专用公共属性等。

于 2011-02-22T16:11:35.390 回答