x:FieldModifier 对于 C# 语言无效?

发布于 2024-10-18 17:43:33 字数 308 浏览 2 评论 0原文

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

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

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

x:FieldModifier 对于以下内容无效 C#语言

如何解决这个问题?

编辑:抱歉,我想公开...

When I apply x:FieldModifier to my WPF control, eg:

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

visual studio (tried on 2008 and 2010) gives me the following error:

x:FieldModifier is not valid for the
language C#

How can I solve this problem?

Edit: Sorry, I want to make it public...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南七夏 2024-10-25 17:43:33

使用小写“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>

use lower case 'public' not '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>

失而复得 2024-10-25 17:43:33

您确定您确实需要FieldModifier吗?如果不包含它会发生什么?

来自文档

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

Are you sure you actually need FieldModifier? What happens if you don't include it?

From the documentation:

x:FieldModifier is not relevant for declaring the general access level of a class or its members. It is relevant only for XAML-processing behavior when a particular XAML object that is part of a XAML production is processed, and becomes an object that is potentially accessible in the object graph of an application. By default, the field reference for such an object is kept private, which prevents control consumers from modifying the object graph directly. Instead, control consumers are expected to modify the object graph by using standard patterns that are enabled by programming models, such as by obtaining the layout root, the child element collections, the dedicated public properties, and so on.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文