x:FieldModifier对C#语言无效?

时间:2011-02-22 16:07:38

标签: c# wpf modifier

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

<TextBox x:Name="textBox1" x:FieldModifier="Public"/>
视觉工作室(2008年和2010年试过)给了我以下错误:

  

x:FieldModifier无效   语言C#

我该如何解决这个问题?

编辑:对不起,我想将其公之于众......

2 个答案:

答案 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吗?如果你不包含它会怎么样?

来自the documentation

  

x:FieldModifier与声明类或其成员的常规访问级别无关。当处理属于XAML生成的特定XAML对象并且成为可能在应用程序的对象图中访问的对象时,它仅与XAML处理行为相关。默认情况下,此类对象的字段引用保持私有,这会阻止控件使用者直接修改对象图。相反,控制消费者应该使用由编程模型启用的标准模式来修改对象图,例如通过获取布局根,子元素集合,专用公共属性等。