问题标签 [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.

0 投票
3 回答
10468 浏览

wpf - ElementName=" 的区别“和RelativeSource自己?

通过名称进行绑定自引用与通过 RelativeSource 进行自引用之间有什么区别?

例如:

相对

在我的项目中,它们的行为似乎相同,但我直接在窗口中使用它们。这意味着我立即更喜欢前者,因为它打字更少。

RelativeSource 的唯一优势是它能够在(例如)广泛使用的样式中进行自我引用吗?还是有一些额外的语义差异?

0 投票
2 回答
11870 浏览

wpf - 绑定元素名称。它使用可视树还是逻辑树

有了{Binding ElementName=foo},它会查找视觉树还是逻辑树?

WPF 中的逻辑和可视化树 数据看,数据做

逻辑树何时重要?

在查找名称时,例如在 {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

0 投票
3 回答
994 浏览

jquery - 根据 DOM 中的位置获取元素名称

我想找到我获得顶部和左侧位置的元素的名称或 ID。

我知道如何使用 jquery 来查找元素的位置(将鼠标悬停在 div 上将触发该位置文本将出现在屏幕上):

0 投票
6 回答
32082 浏览

wpf - ContextMenu 中 MenuItem 的 ElementName 绑定

有没有其他人注意到带有 ElementName 的绑定不能正确解析MenuItem对象中包含的ContextMenu对象?查看此示例:

除了 ContextMenu 中包含的绑定之外,所有绑定都工作得很好。它们在运行时将错误打印到输出窗口。

有人知道任何解决方法吗?这里发生了什么?

0 投票
2 回答
4768 浏览

jquery - Jquery - 查找元素 $(this) 是什么

可能重复:
jQuery 可以提供标签名称吗?

你好!

这个问题太基本了,我很惭愧地问,但我试图找到答案 30 分钟没有任何结果。

我如何找出在下面的代码中单击了哪种元素。

我正在寻找的是将this_element变量设置为'a',如果它是一个链接,'p'如果它是一个段落'div'如果......

谢谢!

0 投票
1 回答
2682 浏览

wpf - 绑定元素名

首先对不起我的英语。我想问为什么 ElementName 在第一种情况下不起作用,而在第二种情况下起作用。

我给出了两段代码。首先不起作用

但它确实有效

我知道我可以使用 Storyboard.TargetName 。

0 投票
2 回答
3270 浏览

wpf - 将 StackPanel 内的 Listbox 的高度绑定到 StackPanel 的高度

我想将 ListBox 的高度绑定到 StackPanel 的高度,以便 ListBox 垂直拉伸自身,因此绿色区域不再可见。

当列表框中没有项目时,它是隐藏的。当 item > 1 时,ListBox 必须将自身拉伸到添加/删除按钮,因此添加/删除按钮始终位于堆栈面板的底部(不想为此使用停靠面板)

我怎样才能做到这一点?我没有绑定错误?

替代文字

0 投票
3 回答
7166 浏览

wpf - ElementName vs.RelativeResource?

以下哪些 TextBlocks 的绑定会消耗更多性能:

我确信当 TextBlocks 处于具有许多兄弟姐妹和祖先的高嵌套级别时,我的问题可能会有所不同。

注意事项

(仅基于个人想法,我可能在每个特定的地方都错了!):

  • ElementName

    • 可能会搜索并比较当前元素以进行更多控制,通过它的所有孩子、兄弟姐妹、叔叔和叔叔,包括祖先(也许有一个所有注册名称的哈希表?)
    • 获取Name控件的属性应该比调用更少的性能GetType
    • 比较字符串比比较类型便宜,尤其是当您知道大多数控件甚至没有Name设置时。
  • FindAncestor

    • 只会遍历祖先,而不是兄弟姐妹“叔叔”、“堂兄弟”等。
    • 最有可能用于GetType确定祖先类型;GetType 比简单的属性 getter 花费更多的性能Name(也许 DP 不同?)
0 投票
1 回答
337 浏览

wpf - 在两个不同的控件中连接单元格的宽度/高度?

我需要创建两个包含相同数量的项目(动态数量)的控件,第一个控件代表键,第二个代表值。

我需要它,以便当用户调整上列宽度的大小时,它应该影响下一行(值)中的同一列。

这是我想要的一个例子:


结果:

同样,我希望能够创建一个类似 DataGrid 的控件,它甚至支持单元格边框,单元格的宽度和高度应该连接到其他控件的宽度 + 允许调整大小。

我更喜欢 xamly 完成。注意:它是一个自定义控件,所以我可以在必要时声明适当的属性。但请记住,单元格的高度和宽度必须是动态的,并且对于特定的列/行是独立的。

关于这个问题,我以稍微不同的方式创建它(对单元格有第三个控件),但问题仍然相同,我希望列和单元格的高度宽度是动态的,并赋予用户能力调整它们相互影响的大小。

更新

decyclone 的答案是我很想实现的,但我尝试了他提供的将ItemsControls'Grid.IsSharedSizeScope属性设置为 true 的示例,但它不起作用,这是结果(裁剪):

是否可以在两个不同的控件之间应用共享大小范围?

0 投票
2 回答
3777 浏览

wpf - 无法通过参考找到绑定源

我想将 MultiDataTrigger.Conditions 绑定到单选按钮,但它不起作用。这是我的场景。

在 wpf 中,我有一个 GridPanel,它假设有单选按钮。

我在 GridPanel 中生成动态单选按钮,如下所示:

然后在我的 xaml 中,我有一个图像按钮,它将根据此单选按钮选择和另一个控件的属性进行更改。

这是我的代码:

当我运行程序时,它显示错误代码:“找不到与引用绑定的源”,并且条件返回 false 的第二个条件(elementName=allAccountsBtn)

为什么会这样?

我可以通过任何方式从动态命名和生成的 RadioButton 中引用获取 IsChecked 属性吗?