问题标签 [elementname]
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 - ElementName=" 的区别“和RelativeSource自己?
通过名称进行绑定自引用与通过 RelativeSource 进行自引用之间有什么区别?
例如:
相对
在我的项目中,它们的行为似乎相同,但我直接在窗口中使用它们。这意味着我立即更喜欢前者,因为它打字更少。
RelativeSource 的唯一优势是它能够在(例如)广泛使用的样式中进行自我引用吗?还是有一些额外的语义差异?
wpf - 绑定元素名称。它使用可视树还是逻辑树
有了{Binding ElementName=foo}
,它会查找视觉树还是逻辑树?
逻辑树何时重要?
在查找名称时,例如在 {Binding ElementName=Foo} 中,搜索会沿着祖先查找名称范围,就像它对可继承属性所做的那样。
通过附加行为在 Silverlight 中绑定 ElementName
为了实现这一点,WPF 提供了 ElementName 和 RelativeSource 绑定,为您提供了一种强大的机制来定位可视树中的其他元素以绑定到
编辑:
它看起来像用于绑定的逻辑树ElementName
。
论据#1。
根据 MSDN 文章FrameworkElement 类:
FrameworkElement 扩展了 UIElement 并添加了以下功能:
- 对数据绑定和动态资源引用的支持:对数据绑定和资源的属性级支持由 DependencyProperty 类实现并体现在属性系统中,但能够解析存储为表达式的成员值(编程构造作为数据绑定和动态资源的基础)由 FrameworkElement 实现。有关详细信息,请参阅数据绑定概述和资源概述。
论点#2。
ElementName
指向x:Name
,所以应该如何找到这个名称。有一个NameScope概念。
对于大多数情况,在 FrameworkElement 和 FrameworkContentElement 上公开的 FindName 方法是更适合调用以按名称搜索元素的方法。FrameworkElement 和 FrameworkContentElement 公开的 Name 属性更适合用于将初始名称设置为标记属性。并且在 FrameworkElement 和 FrameworkContentElement 上公开的 RegisterName 方法对于在特定名称范围内建立名称是必要的(没有 NameScope 成员可以直接执行此操作;您必须先设置当前名称范围才能使用 RegisterName)。
另一方面,Visual 类既没有FindName
方法,也没有实现INameScope。
jquery - 根据 DOM 中的位置获取元素名称
我想找到我获得顶部和左侧位置的元素的名称或 ID。
我知道如何使用 jquery 来查找元素的位置(将鼠标悬停在 div 上将触发该位置文本将出现在屏幕上):
wpf - ContextMenu 中 MenuItem 的 ElementName 绑定
有没有其他人注意到带有 ElementName 的绑定不能正确解析MenuItem
对象中包含的ContextMenu
对象?查看此示例:
除了 ContextMenu 中包含的绑定之外,所有绑定都工作得很好。它们在运行时将错误打印到输出窗口。
有人知道任何解决方法吗?这里发生了什么?
jquery - Jquery - 查找元素 $(this) 是什么
可能重复:
jQuery 可以提供标签名称吗?
你好!
这个问题太基本了,我很惭愧地问,但我试图找到答案 30 分钟没有任何结果。
我如何找出在下面的代码中单击了哪种元素。
我正在寻找的是将this_element变量设置为'a',如果它是一个链接,'p'如果它是一个段落'div'如果......
谢谢!
wpf - 绑定元素名
首先对不起我的英语。我想问为什么 ElementName 在第一种情况下不起作用,而在第二种情况下起作用。
我给出了两段代码。首先不起作用
但它确实有效
我知道我可以使用 Storyboard.TargetName 。
wpf - 将 StackPanel 内的 Listbox 的高度绑定到 StackPanel 的高度
我想将 ListBox 的高度绑定到 StackPanel 的高度,以便 ListBox 垂直拉伸自身,因此绿色区域不再可见。
当列表框中没有项目时,它是隐藏的。当 item > 1 时,ListBox 必须将自身拉伸到添加/删除按钮,因此添加/删除按钮始终位于堆栈面板的底部(不想为此使用停靠面板)
我怎样才能做到这一点?我没有绑定错误?
wpf - ElementName vs.RelativeResource?
以下哪些 TextBlocks 的绑定会消耗更多性能:
我确信当 TextBlocks 处于具有许多兄弟姐妹和祖先的高嵌套级别时,我的问题可能会有所不同。
注意事项
(仅基于个人想法,我可能在每个特定的地方都错了!):
ElementName
:- 可能会搜索并比较当前元素以进行更多控制,通过它的所有孩子、兄弟姐妹、叔叔和叔叔,包括祖先(也许有一个所有注册名称的哈希表?)
- 获取
Name
控件的属性应该比调用更少的性能GetType
。 - 比较字符串比比较类型便宜,尤其是当您知道大多数控件甚至没有
Name
设置时。
FindAncestor
:- 只会遍历祖先,而不是兄弟姐妹“叔叔”、“堂兄弟”等。
- 最有可能用于
GetType
确定祖先类型;GetType 比简单的属性 getter 花费更多的性能Name
(也许 DP 不同?)
wpf - 在两个不同的控件中连接单元格的宽度/高度?
我需要创建两个包含相同数量的项目(动态数量)的控件,第一个控件代表键,第二个代表值。
我需要它,以便当用户调整上列宽度的大小时,它应该影响下一行(值)中的同一列。
这是我想要的一个例子:
结果:
同样,我希望能够创建一个类似 DataGrid 的控件,它甚至支持单元格边框,单元格的宽度和高度应该连接到其他控件的宽度 + 允许调整大小。
我更喜欢 xamly 完成。注意:它是一个自定义控件,所以我可以在必要时声明适当的属性。但请记住,单元格的高度和宽度必须是动态的,并且对于特定的列/行是独立的。
关于这个问题,我以稍微不同的方式创建它(对单元格有第三个控件),但问题仍然相同,我希望列和单元格的高度宽度是动态的,并赋予用户能力调整它们相互影响的大小。
更新
decyclone 的答案是我很想实现的,但我尝试了他提供的将ItemsControl
s'Grid.IsSharedSizeScope
属性设置为 true 的示例,但它不起作用,这是结果(裁剪):
是否可以在两个不同的控件之间应用共享大小范围?
wpf - 无法通过参考找到绑定源
我想将 MultiDataTrigger.Conditions 绑定到单选按钮,但它不起作用。这是我的场景。
在 wpf 中,我有一个 GridPanel,它假设有单选按钮。
我在 GridPanel 中生成动态单选按钮,如下所示:
然后在我的 xaml 中,我有一个图像按钮,它将根据此单选按钮选择和另一个控件的属性进行更改。
这是我的代码:
当我运行程序时,它显示错误代码:“找不到与引用绑定的源”,并且条件返回 false 的第二个条件(elementName=allAccountsBtn)
为什么会这样?
我可以通过任何方式从动态命名和生成的 RadioButton 中引用获取 IsChecked 属性吗?