问题标签 [dependency-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.
wpf - WPF 依赖属性问题......需要关于在这种特定情况下做什么的建议:
我正在尝试在 WPF 中创建一个数独(如填字游戏)播放器,我意识到我有一大堆控件需要知道数独网格才能运行。
正因为如此,我认为 Sudoku Grid 对象将是创建依赖属性的良好候选者。我即将开始工作,但我有一些挥之不去的问题:
谁应该拥有 SudokuGrid 依赖属性?我在想主窗口 UI 元素应该。
我是否应该将其设置为共享依赖属性,其中代表数独网格一部分的所有用户控件只需通过 .AddOwner() 方法将自己添加到属性中?
或者
将其设置为附加属性,在主窗口中定义,并允许子用户控件进行相应设置?
我真的不希望允许子控件设置他们自己的网格属性值,所以此时我倾向于共享依赖属性,但我不确定它是否符合我的想法。
最终我想要的是一个属性,如果它设置在父 UI 元素上,所有知道该属性的子 UI 元素将共享相同的值,覆盖任何先前的值/设置。共享依赖会这样做吗?
我知道这有点啰嗦,但任何帮助将不胜感激!
c# - 动画完成或取消时,如何将动画的最终值设置为属性?
我尝试将 DependencyProperty 从一个值动画到目标值(在代码中),当动画完成(或被取消)时,将最终值设置为属性。最终值将是动画结束时的 To 值或取消动画时的当前计算值(由动画)。
默认情况下,动画没有这种行为,即使动画已经完成,它也不会改变实际值。
一次失败的尝试
前段时间我写了这个辅助方法来实现上述行为:
不幸的是,如果调用 BeginAnimation(property,null) 的人删除了动画,则 Completed 事件似乎不会触发,因此在取消动画时我无法正确设置最终值。更糟糕的是我也无法删除事件处理程序......
有人知道如何以干净的方式做到这一点吗?
.net - 自定义 DependencyObject 继承树
我正在努力寻找有关 and 使用的属性继承树(或继承上下文)的足够DependencyObject
信息DependencyProperty
。
我想使用DependencyProperty
典型 WPF 页面之外的值继承功能,例如对象 A 是逻辑父对象 B,因此分配给对象 A 上的属性的值将自动传播到对象 B,除非它已经在本地设置(有点像FlowDirection
WPF 中的属性)。
如果 Object A 和 Object B 派生自DependencyObject
,并且不是a 的子级UIElement
(换句话说,Object A 是它自己的根),那么您如何建立逻辑树以便DependencyProperty
理解 B 是 A 的子级?
Hillberg Freezable Trick以及Josh Smith 的技巧包并不是我想要的。我不想从现有元素树中检索属性...我想创建自己的非可视元素树...即控制继承上下文。
有谁知道这个知识体系隐藏在哪里?
.net - 什么是依赖属性?
.Net 中的依赖属性是什么(尤其是在 WPF 上下文中)。与普通财产有什么区别?
.net - System.Windows.DependencyProperty 与 System.Workflow.ComponentModel.DependencyProperty
.NET Framework 似乎有两个 DependencyProperty 对象的实现
我知道第一个的正常使用是在 WPF 中,而第二个的正常使用是在 WF 中,但是如果有的话,它们之间有什么区别?
如果我没有使用 WPF/WF 并且仍然想使用最好使用的 DependencyProperty?
未来有合并的计划吗?
wpf - UserControl自定义DependencyProperties问题
我有一个带有图像和标签的自定义 UserControl,它们都是在设计时在 XAML 中设置的,如下所示:<controls:HomeBarButton Icon="/SuCo;component/Resources/music.png" Text="music"/>
当控件只有一个图标时,它看起来很好。当我添加 Text 属性时,图标在设计和运行时都会消失,并且文本标签会忽略 UserControl 中设置的格式,并且当标签居中时在控件的左上角只是黑色。
相关的用户控件 XAML:
代码隐藏:
我究竟做错了什么?:(
wpf - 我应该绑定什么 WPF 依赖属性来查找 FrameworkElement 的中心?
我正在编写一个 WPF 应用程序,我正在尝试找出最好的绑定方法,但只提出了“hack”解决方案,我希望有更好的方法。
我在 Grid 中有一个 Border 对象(从 FrameworkElement 派生)。由于子 TextBlock 的文本发生变化,边框的大小可能会发生变化。边框的位置可能会改变,因为网格中的其他东西可能会重新排列边框所在的单元格。
我想从屏幕的左下角画一条线到边框对象的确切中心。无论边框在屏幕上的大小或位置如何,位于边框正中的线的端点必须始终保持在中心。
我怎样才能做到这一点?
我的想法是绑定到依赖属性似乎是处理这个问题的理想方式。我可以在 Binding 对象上使用 IValueConverter 来计算确切的中心,因为它是 ActualWidth、ActualHeight 和 TranslatePoint() 以找到左上角。但是,我不知道我应该绑定哪个依赖属性,当边框改变大小和/或位置时会提醒我。
silverlight - 导致 XamlParseException AG_E_PARSER_BAD_PROPERTY_VALUE 的依赖属性
我创建了两个 UserControl,第一个显示对象列表,第二个显示从第一个中选择的对象的详细信息。我在第一个控件上创建了一个依赖属性,并将每个 UserControl 绑定到我的 Resources 集合中声明的对象。我已经看到博客文章描述了这一点,但似乎无法让它发挥作用。我收到 XamlParseException。有趣的是,只有当我在我的第一个 UserControls 上设置绑定 Mode=TwoWay 时才会出现异常。这是代码...
页面.xaml
项目列表.xaml.cs
欢迎任何建议!
wpf - 如何实现“直通”数据绑定?
一点背景知识:我正在从存储在属性表(控件类型、标签、边距等)中的数据库中加载 WPF UI,我将其加载到我称为 ControlPresenter 的类中。基本上我将 ControlPresenter 设置为 ContentPresenter 的 DataContext 并使用 TemplateSelector 来选择要加载的控件类型。DataTemplate(s) 从 ControlPresenter 公开的 DependencyProperties 中加载它们的属性。
这一切都非常有效。当我尝试将其他演示者(具有实现 INotifyPropertyChanged 的普通属性)中的数据(例如,TextBox 的 Text 属性与演示者的 Name 属性)绑定到这些控件时,我遇到了问题。控件的 DataContext 是关联的 ControlPresenter,因此我不能直接绑定到其他演示者,也不能在同一个依赖项属性上设置两个绑定(我不能将控件和所需的演示者属性绑定到同一个 DP) .
可能的解决方案:
- 我可以将所有其他演示者转换为使用 DP(非常耗时且容易导致继承问题)
- 我可以为要通过的每个属性使用两个 DP,并尝试通过更改的通知将它们绑定在一起
这两个似乎都有问题并且容易破裂,所以我希望其他人能提出更好的解决方案。
编辑:我想出了一个效果很好的解决方案(见下文)。感谢所有看过这个的人,如果你想出比我更好的方法,请告诉我。
wpf - 当页面的数据上下文用于其他绑定时,如何绑定到 WPF 依赖属性?
当页面的数据上下文用于其他绑定时,如何绑定到 WPF 依赖属性?(简单问题)