问题标签 [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.
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?
c# - 无法从 'System.Collections.Generic.List 转换' 到 'System.Xml.Linq.XName'
我收到编译器错误:“System.Collections.Generic.List”到“System.Xml.Linq.XName”。
我最初得到的“XAttribute”不包含“Trim”的定义,也没有可访问的扩展方法“Trim”……等等。但我想我发现我的引语放错了地方。
我究竟做错了什么?
在这一行失败:
续代码:
错误捕捉:
c# - 如何通过标识符(名称,Uid ...)访问用户控件?
我已经构建了许多(到目前为止为 16 个)用户控件实例。他们每个人都有相似的属性。我给每个人一个名字:x:Name = "probeX"(其中 X 是一个整数)。这些控件中的每一个都代表一个电子探针。
我想编写一种方法,可以通过将 int 值传递给他的一个属性来访问用户控件。
例如:如果方法签名是: void SetMeasuredValueToProbe(int probe_number, int value ) 然后传递 SetMeasuredValueToProbe(3, 22);
将“probe3”特定属性设置为值 22。
我知道我可以在方法中制作长开关盒。但在未来,我想以指数方式增加探测器的数量。所以我想知道命名和访问一组用户控件的正确方法是什么。
XAML:
MainWindow 类中的方法:
我想知道这样做的优雅方式,而无需制作意大利面条代码。
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