- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 ComboBox
的控件:
<ComboBox x:Name="TraceComboBox"
ItemsSource="{Binding SingleChannelList}"
SelectedItem="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type cc:LogicTriggerSimpleLevelControl}},
Path=SelectedTrace, Mode=TwoWay}">
PropertyChangedCallback
为属性(property)
SelectedTrace
在包含
ComboBox
的 OuterControl 中:
private static void OnSelectedTraceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
OuterControl oc = d as OuterControl ;
oc.UpdateSelectedTrace();
}
private void UpdateSelectedTrace()
{
ViewModelType vm = DataContext as ViewModelType;
if (vm != null)
{
if (vm.SingleChannelList != null)
{
SelectedTrace = vm.SingleChannelList[0];
}
}
}
ComboBox
中的第三个对象(
SingleChannelList[2]
),并且发生更改处理程序。然后进入
UpdateSelectedTrace()
常规。此时
SelectedTrace
的值当然是
SingleChannelList[2]
.现在,
UpdateSelectedTrace()
例程强制设置
SelectedTrace
属性到列表中的第一个对象(
SingleChannelList[0]
),它会触发嵌套在第一个对象中的另一个更改处理程序。
“SelectedTrace”现在等于 SingleChannelList[0],因此 ComboBox 也应该将 SingleChannelList[0] 显示为其选择。
SelectedTrace
现在等于
SingleChannelList[0]
,但
ComboBox
显示
SingleChannelList[2]
作为其选定的项目。我试过
UpdatingTarget
在
BindingExpression
仍然是
SelectedTrace
属性(property)持有值(value)
SingleChannelList[0]
而
ComboBox
继续显示
SingleChannelList[2]
.这些绑定(bind)是安全且经过测试的,并且在我尝试这样做之前一直有效。谁能告诉我为什么这不能正常工作?
最佳答案
这听起来像是依赖属性“值强制”的场景。值强制将属性的值“推”到基于期望值的有效值。在此处阅读更多信息:
Dependency Property Callbacks and Validation
关于wpf - 更改该 DependencyProperty 的 PropertyChangedCallback 中的 DependencyProperty 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2057894/
我有一个用户控件,它有两个 DependencyProperties。每个 DependencyProperty 都有 PropertyChangedCallback。在设置属性值的顺序中调用回调很重
看起来 WPF 并不总是调用 DependencyProperty 的已注册 PropertyChangedCallback 过程。即使我们从 VM 手动引发 PropertyChanged 事件,W
这已经困扰我一段时间了,所以我问了一个同事他是否能理解它,现在我来了;) 为什么可以在依赖属性的 PropertyChangedCallback 中访问持有类的私有(private)成员? 让我通过这
我有一个 TextBox 绑定(bind)到一个依赖属性,我已经实现了一个 PropertyChangedCallBack 函数,当文本更改时我需要调用 textbox.ScrollToEnd() 但
如果有自己的用户控件,带有 DependencyProperty 和相应的回调方法,如下所示: public partial class PieChart : UserControl { pu
我有一个依赖属性和一个回调。 public static readonly DependencyProperty IsBusyProperty = DependencyProp
我有一个派生自 System.Windows.Controls.UserControl 的类,我需要将 PropertyChangedCallback 添加到 FrameworkElement.Mar
我创建了一个派生自 Canvas 的控件,它应该绘制一个实时图表,给定值通过绑定(bind)传递给 DependencyProperty。简化版是这样的: public class Plotter :
我有一个具有三个属性 (x1,x2,x3) 和该属性的 PropertyChangedCallback 的对象集合。 此集合绑定(bind)到 Wpf DataGrid。然后我想用像“x1+x2”这样
我有一个类的依赖属性,我们称它为“SomethingControl”: public static readonly DependencyProperty SomethingProperty = De
我有一个用户控件,它公开了一个名为 VisibileItems 的 DependencyProperty每次更新该属性时,我都需要触发另一个事件。为此,我添加了一个带有 PropertyChanged
我正在创建一个具有PropertyChangedCallback依赖项属性的WPF CustomControl。在该Callback方法中,我尝试使用GetTemplateChild()方法从OnAp
DependencyProperty.OverrideMetadata() 是否也覆盖了 PropertyChangedCallback? 最佳答案 取自此处:http://msdn.microsof
DependencyProperty.OverrideMetadata() 是否也覆盖了 PropertyChangedCallback? 最佳答案 取自此处:http://msdn.microsof
我的大体理解是,当属性发生变化时,会立即执行本地回调。所以我可以假设这会立即发生。但是,绑定(bind)属性的回调在绑定(bind)传播之前不会发生,这可能不会立即发生。这是正确的吗? 最佳答案 听起
我想在每次更改属性时执行一些代码。以下在一定程度上起作用: public partial class CustomControl : UserControl { public bool
我有一个带有文本框的用户控件和一个基本上是带有 CollectionView 的 ListBox 的自定义列表控件。我想使用 CollectionView 的过滤器功能并使用文本框中的文本来过滤可见元
我正在创建一个 WinRT CustomControl,它具有 PropertyChangedCallback 的依赖属性。在该回调方法中,我尝试为我使用 GetTemplateChild() 方法从
我的应用程序使用 MVVM 架构,ViewModel 不了解 View。当 ViewModel 对象需要显示新 View 时,它会公开一个公共(public) ShowNewView 属性,该属性是一
我需要从 ViewModel 将焦点设置到 UIElement 的附加属性。我创建了 Attached 属性,并在 PropertyChangedCallback 中将焦点设置到 UIElement。
我是一名优秀的程序员,十分优秀!