问题标签 [attached-properties]

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 回答
289 浏览

c# - 何时在 wpf 中使用 AttachedProperties

以下是我的疑惑,

  1. 何时在 wpf 中使用 AttachedProperties
  2. 我是否应该仅将 AttachedProperties 与 ContentControls(如面板)一起使用,其中有一个或多个孩子
  3. 附加属性有什么用
  4. 我可以使用 AttachedProperties 来扩展控件的属性,即不存在但我想添加到控件而不修改该控件的对象层次结构的属性

PS:我已经阅读了 AttachedProperties 上的 MSDN 链接,但我仍然希望从 stackoverflow 用户那里听到最好的信息

谢谢

0 投票
2 回答
3382 浏览

silverlight - 为什么 XamlReader.Load 在 Silverlight 4 中无法识别我的附加属性?

我试图弄清楚如何在我们的 Silverlight 4 应用程序中以编程方式在运行时应用主题。我认为这应该像从 XAML 加载资源字典并将其与应用程序的合并字典合并一样简单。到目前为止,这是我的代码:

不幸的XamlParseException是,在调用 a 期间引发了XamlReader.Load

在“Bar”类型中找不到可附加属性“Foo”。

正确附加的这个正确声明,并且 XAML 中的命名空间声明正确引用了所需的命名空间。如果通过 App.xaml 标记以声明方式将附加属性 XAML 加载到合并字典中,则该属性可以正常工作。

这是我试图在运行时加载的 XAML 的缩写副本:

为什么在运行时加载 XAML 时对附加属性的引用不起作用,而在“静态”加载时它工作得很好?

0 投票
1 回答
1685 浏览

silverlight - 移除子元素的渲染变换

好的,

所以我有一种情况,边界被缩放(有时被大量)和翻译。边框里面是一个网格,网格里面是两张图片,一张是照片,被拉伸到边框的大小,另外一张,我打算做一个图标,需要在底部固定大小左手角。

问题是,我想删除图标上的效果缩放。这是因为我给了图标一个固定的大小,并希望它保持那个大小,但不幸的是,从边框的缩放正在向下传播到边框的子元素并影响它们。

所以我尝试使用附加属性,类似于这个像素捕捉文章(http://blogs.msdn.com/b/devdave/archive/2008/06/22/using-an-attached-dependencyproperty-to-implement -pixel-snapping-as-an-attached-behavior.aspx),但它似乎没有什么区别。单步执行时,在 LayoutUpdate 中修改的元素似乎总是在我设置之前具有渲染转换的单位矩阵。

我想我错过了如何将渲染转换应用于儿童?

无论如何,这就是我所拥有的(另外,我知道这(如果它有效)也会删除翻译,这不是我想要的!):

我在想我可能以完全错误的方式思考这个问题。我想明智的解决方案是重构以消除缩放的需要,但我想我只是在寻求一个更快的解决方案,直到我有时间为止。

任何帮助表示赞赏!:)

谢谢!

安迪。

0 投票
2 回答
1485 浏览

wpf - 根据 WPF 中的项目列表计算总和、平均值

在 WPF 中,我想根据提供的项目列表显示总和平均值。

例如,我有一个具有 Salary 属性的 Employee 对象,我想根据员工列表计算总工资。此外,员工对象是绑定到 Items 控件的数据,将在其中编辑薪水/新员工可能会添加到列表中。

谁能为我提供一个解决方案来实现这一目标?

0 投票
1 回答
663 浏览

wpf - 是否可以将 IMultiValueConverter 用于项目列表?

我将 EmployeeList 作为 Employee 对象的 observableCollection。

Employee 对象有 Salary。

我想在 XAML 中显示一些值,例如员工的平均薪水,并且当将项目添加到列表中或在任何更新的项目中更改薪水字段时,UI 字段应自动更新。

这可以通过为平均值创建一个属性并侦听列表中的集合 Changed 和 ProperyChanged 处理程序来实现。

但是,我确信应该有其他更好的方法来做到这一点。(如使用 AttachedProperties 或 IValueConverter/IMultiValueConverter)

关于这一点,我有以下问题。

  1. 是否可以将 IMultiValueConverter 用于项目的 List/ObservableCollection?当项目添加到列表以及特定属性更改时应该调用转换器?
0 投票
1 回答
1142 浏览

wpf - WPF 以编程方式设置附加事件

您如何在 WPF 中以编程方式执行此操作?

我正在尝试通过代码为 Validation.Error 设置附加事件,但无法完全弄清楚如何去做。

0 投票
1 回答
488 浏览

wpf - XAML 中没有“属性”一词的附加属性

MS 定义了附加属性,如“Grid.RowProperty”和“Grid.ColumnProperty”,但在 XAML 中,您只需使用“Grid.Row”和“Grid.Column”来调用它

我尝试对名为“MyValProperty”的附加属性执行相同操作,该属性在“Foo”类上以名称“MyVal”注册,但 XAML 不允许我输入“Foo.MyVal”,而是让我输入“Foo” .MyValProperty' MS 是如何做到的?我错过了什么?

0 投票
1 回答
1704 浏览

wpf - xaml 中的附加属性声明

我正在创建附加属性。我的附属班级是helper:FocusDetail并且有 2 个财产。第二个属性DetailBody类型是对象。我在项目控制上使用这个属性

这是成功的工作

我正在改变这样的附加值

那是我要再次改变的工作

那是有效的。我最后的改变在这里

这是行不通的。文本块为空。

我在改变

<TextBlock Text="{Binding Description}"></TextBlock>

<TextBlock Text="{Binding }"></TextBlock>.

但是 textblock 返回 Window DataContext 类型。已经退出 Itemscontrol 迭代。

为什么绑定错误工作?

如何像最后一个代码一样声明附加属性?

我需要附加属性包含可视树控件。

0 投票
2 回答
3976 浏览

wpf - 在 xaml 中设置时,WPF 附加属性不会触发代码

我有一个自定义的 ClockFace UserControl,它具有允许更改颜色、字体和手(作为 Path 对象)的属性。这用于自定义 TimePicker 和时钟用户控件。在这些父控件中,可以在 xaml 中的 ClockFace 对象上设置 ClockFace 属性就好了。我要做的是公开这些 ClockFace 属性,以便可以在这两个父控件(例如 Clock 和 TimePicker 对象)上设置它们。我认为使它们成为附加属性就可以了,所以我尝试了其中一种颜色属性。

我可以在 Clock 所在的 xaml 中使用这个附加属性:(Controls 是 xml 命名空间)

它编译得很好,但是尽管显示了附加的 HourTicksBrushProperty 中的默认值 (Brushes.Black),但在父时钟控件 (Aqua) 上设置的值永远不会触发上述方法或更改颜色。我错过了什么吗?

需要明确的是,我希望能够在父控件上使用上述 xaml 来设置子 ClockFace 控件的 HourTicksBrush 属性。

任何帮助将非常感激。

0 投票
1 回答
1454 浏览

wpf - 专注于 WPF 文本框无法与附加属性一起正常工作

在 WPF MVVM 环境中,我试图确保将焦点放在 TextBox 上。发生的情况是光标出现在 TextBox 中但没有闪烁,并且 TextBox 没有焦点。代码是:

我有一个包含此 UserControl 的弹出窗口:

(我已经删除了一些按钮处理的东西!)

在我的 ViewModel 中,我有如下代码:

我正在使用附加属性:

}

发生的情况是光标出现在 TextBox 中但没有闪烁。TextBox 没有焦点,因为在您键入时没有显示任何内容。如果你点击它,它工作正常。

我做错了什么?