问题标签 [relativesource]

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 投票
0 回答
25 浏览

binding - UserControl.MouseEnter 在绑定中不起作用

我的用户控件有

在我的用户控件中,我有矩形,并且在期间,我想更改矩形的填充。这是我的矩形样式:

当我使用时,everythink 做得很好。当我使用时,我的矩形不起作用。我做什么?

0 投票
1 回答
883 浏览

c# - 不能在绑定中使用 RelativeSource

我正在从一个窗口创建一个模态对话框,我需要将对话框中的组合框绑定到视图模型,而不是它自己的DataContext中的组合框。相反,我需要将组合框绑定到创建对话框的窗口的视图模型中的一个属性。

加价如下。

我正在尝试遵循 SO 的不同建议,但我只遇到以下错误。还有一个绑定示例列表,这并没有让我变得更聪明。

{"'在 'System.Windows.Baml2006.TypeConverterMarkupExtension' 上提供值引发异常。' 行号 '131' 和行位置 '15'。"}

内部异常如下。

{“字符串‘x:Type Window’中的字符‘w’出乎意料。无效的 XAML 类型名称。”}

我已经尝试过除Window之外的其他东西,包括创建窗口的名称(ProgramWindow),但它抱怨相同的字符 - “w”!当我在x:Type Program (现在是 w's!)上拍了一会儿照片时,它抱怨的是字符“m”,而不是。

我不确定我理解为什么,所以对此进行解释会很好。当然,我的问题是我缺少什么。我应该在对话框的窗口标签中添加任何内容吗?我是否需要告诉计算机祖先窗口的视图模型将用作相对源?

0 投票
1 回答
80 浏览

c# - 将绑定的创建从基于代码隐藏重构为基于 XAML

今天我使用构造函数来接收一个数组,然后将它绑定到元素。

C#

XAML

我想将它重构为纯粹基于 XAML 的方法,并且我已通过以下方式处理它。但是,现在我的组合框中没有任何值,我非常不确定如何解决它。

当然,Things类包含许多字段,其中一个称为Canonic,并包含一个要呈现为选项描述的字符串。创建对话框的控件是从Window派生的ProgramWindow类型。

请注意,有一个类似的问题(可能会出现),但不同之处在于,在另一个问题中,我遇到了语法问题,一旦解决,这里就会出现实际的技术问题。(我没有给出另一个问题的链接,因为我不想影响它的视图计数。)

0 投票
1 回答
23 浏览

wpf - Styles and DataTemplates: FindAncestor-like search,包括 Self

我有一个包含表单的绑定表达式的样式

但是,有时运行此样式的 DataContext 实际上是 MyType 类型。在这种情况下, FindAncestor 没有做我想做的事:它从父级开始搜索。

在继续元素层次结构之前,是否有任何 {Binding ...} 咒语检查当前数据上下文的类型?我有其他特定于我的项目的解决方案,但 FindAncestor 是如此接近......

0 投票
2 回答
2535 浏览

c# - 使用 RelativeSource 绑定到 ViewModel 不起作用

我有一个应用程序,它有一个导航菜单,它使用命令从一个页面转到另一个页面。

导航菜单已在 Xaml 中创建,我将其存储在 Navigation.xaml 中,见下文

我试图将这些按钮命令绑定到的 ViewModel 称为 NavigationViewModelBase.cs

然后在每个页面上,我使用以下代码添加导航

目前我没有收到任何错误,当我在上面的一个按钮中设置 DataContext 时,当我去绑定我的命令时,我可以看到该 Viewmodel 的所有属性,以便该位正常工作,但是当我运行程序并单击这些按钮没有任何反应。

谢谢你的帮助

0 投票
0 回答
117 浏览

c# - 无法将属性绑定到嵌套在 DataGrid 的 HeaderTemplate 内的 TreeView

我遇到了非常奇怪的问题。我无法弄清楚如何将放置的属性绑定FooItemsControlViewModel到 View( FooItemsControl):

模型:

视图模型:

XAML。此cDataTemplate将用于<DataGridTextColumn.HeaderTemplate>DataGrid

我已将跟踪添加到输出窗口以调试绑定:

我在输出窗口中看到的是:

System.Windows.Data 警告:78:BindingExpression (hash=52875503):使用根项 FooItemsControl 激活 (hash=67071923)

System.Windows.Data 警告:107:BindingExpression (hash=52875503):在级别 0 使用 FooItemsControl.DataContext 的缓存访问器:DependencyProperty(DataContext)

System.Windows.Data 警告:104:BindingExpression (hash=52875503):使用访问器 DependencyProperty(DataContext) 将级别 0 的项目替换为 FooItemsControl (hash=67071923)

System.Windows.Data 警告:101:BindingExpression (hash=52875503): GetValue at level 0 from FooItemsControl (hash=67071923) using DependencyProperty(DataContext): FooItemsControlViewModel (hash=28094463)

System.Windows.Data 警告:107:BindingExpression (hash=52875503):在级别 1 使用 FooItemsControlViewModel.Folders 的缓存访问器:RuntimePropertyInfo(Folders)

System.Windows.Data 警告:104:BindingExpression (hash=52875503):使用访问器 RuntimePropertyInfo(Folders) 将级别 1 的项目替换为 FooItemsControlViewModel (hash=28094463)

System.Windows.Data 警告:101 : BindingExpression (hash=52875503): GetValue at level 1 from FooItemsControlViewModel (hash=28094463) using RuntimePropertyInfo(Folders):

System.Windows.Data 警告:80:BindingExpression (hash=52875503): TransferValue - 得到原始值

System.Windows.Data 警告:89:BindingExpression (hash=52875503): TransferValue - 使用最终值

并且Folders属性未显示在 中TreeView。有谁知道我看不到任何价值的原因TreeView(我之前看到过价值)?

为什么我需要TreeViewinside of HeaderTemplate?让我展示一张图片: 在此处输入图像描述

0 投票
0 回答
343 浏览

wpf - How to bind to an item of parent collection?

I have the following data model, which is a collection within a collection:

#xA;

Next, I have a ListBox with ItemsSource bound to Items. The DataTemplate of this list contains another ListBox and its ItemsSource is bound to Details.

In short, my XAML is displaying a list of items and each item is showing a list of item details.

The problem that I have is that I do not know how to bind the value of IsActive property, which belongs to Class1, inside of DataTemplate of the inner ListBox which is associated with Class2 items.

I played with

#xA;

but that doesn't work.

0 投票
1 回答
1475 浏览

c# - 绑定到 ItemsControl 中 ItemsControl 的 AlternationIndex

考虑以下 XAML

共有三个 TextBlock 节点。第一个 TextBlock 是第一个 ItemsControl 的直接子级,并按预期显示 AlternationIndex。但是,在第二个 ItemsControl 中,我需要更深层次的 AlternationIndex。因此我不能使用 TemplatedParent 并认为我可以找到具有 AncestorLevel 的祖先。但是,第二个 ItemsControl 中的两个 TextBlock 节点都显示“0”。

我错过了什么?如何从第二个 ItemsControl 中定位第一个 ItemsControl?

0 投票
2 回答
257 浏览

c# - wpf中如何获取父级usecontrol的对象

我创建了一个用户控件,可以说 UserControl1。我有一个子控件按钮,通过单击我想将 UserControl1 的对象和与按钮绑定的数据传递给转换器。我正在使用 MVVM 模式执行命令。

假设用户控件的 Xaml 文件的结构如下

Xaml 中的某处有一个包含 ListItem 的 Listbox 和一个用于在 ListBox 上执行某些操作的按钮,如下所示

我能够将对象发送到转换器,但在转换器收到的对象是System.Windows.Data.RelativeSource类型,它应该是UserControl1

我错过了什么?或者我应该怎么做才能从 RelativeSourceObject 获取 UserControl1 对象?

0 投票
1 回答
1689 浏览

wpf - 绑定 {RelativeSource PreviousData} 在特定情况下会中断绑定

我尝试{RelativeSource PreviousData}在 a中使用ListBox.ItemTemplate,它工作正常。

但是,当使用下面提供的特定代码时,绑定会在向上向下滚动几次时停止工作,并且缺少一些s。Rectangle

该问题即使在使用单个时也会重现DataTrigger,但在超过178时不会重建。ListBox.Height

示例 GIF - 缺少绿线!:

常规滚动有效,但快速滚动会导致它绑定到“松动”


MainWindow.Xaml 源代码:

后面的主窗口代码:

MyModel.cs 来源: