问题标签 [xname]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3321 浏览

xamarin - 在 Xamarin.Forms 中使用 C# 代码访问控件

我无法从 C# 代码后面的代码访问 xaml 文件中定义的标签。

我尝试了该x:name="l"属性,但它告诉我“'l'未定义”:

在此处输入图像描述

谁能通过提供示例帮助我如何从 C# 代码访问控件?

0 投票
0 回答
74 浏览

wpf - 对某些用户控件强制执行 x:Name?

大约一年前,我的部门开始使用 Ranorex 进行自动化 GUI 测试。为了正确工作,Ranorex 必须识别我们在项目中使用 PreBuild 事件的某些 UserControl,以确保基本上每个 XAML 元素都有一个唯一的 x:Uid-tag:

"$(MSBuildBinPath)\MSBuild.exe" /p:Configuration=$(ConfigurationName) /p:Platform=$(PlatformName) /t:updateuid "$(ProjectPath)" > NUL

虽然当前的解决方案有效,但它有两个我不喜欢的缺点: 1. 每个元素都有一个 x:Uid-tag,即使是那些永远不需要的(大约 80% 的 XAML)。2. 如果没有为元素定义 x:Name,则 AutomationId 将收到来自 msbuild.exe 的通用名称,如“TextBox_1”、“TextBox2_”、“TextBox3_”……,这有时会让测试人员感到困难在创建测试时识别正确的 UserControl。

如果我们可以让 Visual Studio对某些 UserControl 类型强制使用 x:Name,那对我们来说会更好。在 99% 的情况下,我们的测试人员只使用用于用户输入的 UserControl,例如 TextBox、ComboBox 和 CheckBox。我知道不需要 x:Name 是 WPF 的优点之一,但在我们的例子中它真的很有意义,所以问题仍然存在:

有没有办法让 Visual Studio 强制使用 x:Name?

0 投票
1 回答
199 浏览

c# - 无法从 'System.Collections.Generic.List 转换' 到 'System.Xml.Linq.XName'

我收到编译器错误:“System.Collections.Generic.List”到“System.Xml.Linq.XName”。

我最初得到的“XAttribute”不包含“Trim”的定义,也没有可访问的扩展方法“Trim”……等等。但我想我发现我的引语放错了地方。

我究竟做错了什么?

在这一行失败:

续代码:

错误捕捉:

0 投票
1 回答
256 浏览

c# - 如何通过标识符(名称,Uid ...)访问用户控件?

我已经构建了许多(到目前为止为 16 个)用户控件实例。他们每个人都有相似的属性。我给每个人一个名字:x:Name = "probeX"(其中 X 是一个整数)。这些控件中的每一个都代表一个电子探针。

我想编写一种方法,可以通过将 int 值传递给他的一个属性来访问用户控件。

例如:如果方法签名是: void SetMeasuredValueToProbe(int probe_number, int value ) 然后传递 SetMeasuredValueToProbe(3, 22);

将“probe3”特定属性设置为值 22。

我知道我可以在方法中制作长开关盒。但在未来,我想以指数方式增加探测器的数量。所以我想知道命名和访问一组用户控件的正确方法是什么。

XAML:

MainWindow 类中的方法:

我想知道这样做的优雅方式,而无需制作意大利面条代码。

0 投票
1 回答
320 浏览

wpf - 在 WPF 中另一个元素的范围内如何设置 x:Name 属性

我需要创建几个弹出窗口。它们都具有相同的结构:

  • 左上部分
  • 右上角部分
  • 内容部分

因此,我创建了一个用户控件来在 3 个不同的地方保存一些内容。然后我用dependencyProperties 暴露了这些“ContentControls”。

我的问题是添加到这些 ContentControls 的任何内容都不能命名...不幸的是,我需要将一些内容从一个部分绑定到另一个部分的内容...

(我可能做错了^^")

我找到了这个线程:How to create a WPF UserControl with NAMED content 但是没有一个解决方案对我有帮助:/因为这是一个老话题,我希望现在可以解决......

这是我的用户控件:

这是我背后的代码:

这是我想做的一个例子:

这是我得到的错误: Cannot set Name attribute value 'Test' on element 'Label'. 'Label' is under the scope of element 'GenericPopUpView', which already had a name registered when it was defined in another scope. Line 36 Position 11. VirtualTrain.Atrac ...\VirtualTrain.Atrac\Views\PopUps\Start\UserControl1.xaml 36