草庐IT

DependencyObject

全部标签

c# - 查找所有子控件 WPF

我想找到一个WPF控件中的所有控件。我看过很多示例,似乎它们都需要将名称作为参数传递,或者根本不起作用。我有现有的代码,但它不能正常工作:publicstaticIEnumerableFindVisualChildren(DependencyObjectdepObj)whereT:DependencyObject{if(depObj!=null){for(inti=0;i(child)){yieldreturnchildOfChild;}}}}例如,它不会在TabItem中获取DataGrid。有什么建议吗? 最佳答案 你可以使用这

c# - WPF的DependencyObject是如何实现的?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion是否有任何文章描述了WPF中的DependencyObject类是如何“在幕后”工作的?具体来说,我很好奇如何有效地存储和访问依赖属性。

c# - DependencyObject.InvalidateProperty 不工作

基于documentation通过MSDN...YoucanalsouseInvalidatePropertytoforcere-evaluationofabindingagainstadatasourcethatisnotabletoimplementtherecommendedINotifyPropertyChangednotificationmechanism......下面的代码应该可以工作,但实际上没有。publicpartialclassWindow1:Window{privatePayload_payload=newPayload();publicWindow1(){In

c# - 来自字符串的 DependencyProperty

如何将属性名称(字符串形式)转换为DependencyProperty?我有一组属性名称、它的字符串值和一个DependencyObject。现在我想将这些属性值设置为DependencyObject。关于如何实现这一目标的任何想法?谢谢。 最佳答案 可以得到DependencyPropertyDescriptor使用DependencyPropertyDescriptor.FromName方法,然后从此描述符获取依赖属性标识符。vardescriptor=DependencyPropertyDescriptor.FromName(

c# - 改进的 IValueConverter——MarkupExtension 还是 DependencyObject?

我在网上看到了两种不同的增强IValueConverter的方法。其中一个从MarkupExtension扩展了ValueConverter,另一个从DependencyObject扩展。我无法从两者中扩展,所以我想知道是否有一个比另一个更好? 最佳答案 从每一个派生给你不同种类的力量和灵active:源自MarkupExtension使您能够使用值转换器而不使其成为静态资源,如下所述:publicclassDoubleMe:MarkupExtension,IValueConverter{publicoverrideobjectPr

c# - 必须在与 DependencyObject 相同的线程上创建 DependencySource

我将可观察字典从View模型绑定(bind)到View。我使用CaliburnMicroFramework。查看:来自View模型类的代码。属性如下所示:publicMyObservableDictionaryFriends{get{return_friends;}set{_friends=value;NotifyOfPropertyChange(()=>Friends);}}在Dispatcher计时器中,我在单独的线程中每3秒调用一次新服务方法。所以我的View模型的构造函数我有这个:_dispatcherTimer=newDispatcherTimer();_dispatcher

c# - 必须在与 DependencyObject 相同的线程上创建 DependencySource

我将可观察字典从View模型绑定(bind)到View。我使用CaliburnMicroFramework。查看:来自View模型类的代码。属性如下所示:publicMyObservableDictionaryFriends{get{return_friends;}set{_friends=value;NotifyOfPropertyChange(()=>Friends);}}在Dispatcher计时器中,我在单独的线程中每3秒调用一次新服务方法。所以我的View模型的构造函数我有这个:_dispatcherTimer=newDispatcherTimer();_dispatcher

c# - 错误 : Must create DependencySource on same Thread as the DependencyObject even by using Dispatcher

以下是我的View的一部分,我在其中将一个图像绑定(bind)到我的ViewModel中的一个属性:我的ViewModel是这样的:publicclassMainWindowViewModel:INotifyPropertyChanged{publicBitmapImageImage{get{return_image;}set{_image=value;OnPropertyChanged();}}Action_makeScannerAlwaysOnAction;privateBitmapImage_image;publicMainWindowViewModel(){AddNewPers

c# - 错误 : Must create DependencySource on same Thread as the DependencyObject even by using Dispatcher

以下是我的View的一部分,我在其中将一个图像绑定(bind)到我的ViewModel中的一个属性:我的ViewModel是这样的:publicclassMainWindowViewModel:INotifyPropertyChanged{publicBitmapImageImage{get{return_image;}set{_image=value;OnPropertyChanged();}}Action_makeScannerAlwaysOnAction;privateBitmapImage_image;publicMainWindowViewModel(){AddNewPers

c# - 按类型查找 WPF 窗口中的所有控件

我正在寻找一种方法来按类型查找Window上的所有控件,例如:查找所有TextBoxes,查找所有实现特定接口(interface)的控件等。 最佳答案 这应该可以解决问题:publicstaticIEnumerableFindVisualChilds(DependencyObjectdepObj)whereT:DependencyObject{if(depObj==null)yieldreturn(T)Enumerable.Empty();for(inti=0;i(ithChild))yieldreturnchildOfChild
12