草庐IT

dependency-properties

全部标签

c# - 如何向现有的依赖属性回调添加逻辑?

我正在尝试将PropertyChangedCallback添加到UIElement.RenderTransformOriginProperty。当我尝试覆盖PropertyMetadata时抛出异常。我已经搜索了MSDN和Google,我所能想到的是this.DependencyPropertyDescriptor.AddValueChanged在那篇文章的某个时候被建议,但这不会解决我的问题,因为这不是每个实例的回调。我完全不明白这个异常是什么意思。有谁知道我做错了什么?publicclassfoo:FrameworkElement{privatestaticvoidOrigin_C

c# - 简单的linq问题: using linq to get an array of properties

假设我们有一个简单的类publicclassFoo{publicstringFooName;}现在我们想对其做一些简单的工作。publicvoidSomeCallerMethod(ListlistOfFoos){string[]fooNames=listOfFoo.//Whattodohere?}如果我什至知道调用什么方法,我可能就能找到其余的部分。 最佳答案 您想将您的类列表转换为字符串数组。理想的方法是Select,它对可枚举对象的每个元素进行操作,并根据您返回的类型构建一个新的可枚举对象。您需要将lambda表达式放入返回名称

c# - 获取依赖属性内的 'this' 指针更改回调

我在一个类中有以下依赖属性:classFooHolder{publicstaticDependencyPropertyCurrentFooProperty=DependencyProperty.Register("CurrentFoo",typeof(Foo),typeof(FooHandler),newPropertyMetadata(OnCurrentFooChanged));privatestaticvoidOnCurrentFooChanged(DependencyObjectd,DependencyPropertyChangedEventArgse){FooHolderhol

c# - 林克到 SQL : Sort Query by Arbitrary Property(Column) Name

我有一个更大/更复杂的问题,但为了简单起见,让我们考虑以下问题:假设我在SQL数据库中有一个名为Product的表,它有两列,ID(int,primary键)和名称(varchar/string)。我还有一个简单的LINQDataContext。我构造了一个查询并将其交给“我的”函数。让我们假设它是这样的:(虽然它可能有点复杂)IQueryablequery=frompindb.Productsselectp;一旦我的方法得到这个查询,作为参数传入,它必须更改排序顺序,例如IQueryablesortedQuery=query.OrderBy(x=>x.Name);我想让它更通用,即指

c# - "Items collection cannot be modified when the DataSource property is set."

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。通过表单将文件添加到txt文件的程序有这个问题,但这个问题没有说明Fstream的任何内容,所以我认为它不必处理它,但我不确定是什么这个问题的意思是。lstEmployees.Items.Add("Norecordsfound.");

c# - 具有默认值的依赖属性抛出 StackOverflowException

我正在使用WPFSQLConnectionUserControl.每当我将它放在已打开、关闭然后再次打开的选项卡(AvalonDockDocumentTab)上时,我都会抛出StackOverflowException问题。为了更好地适应我的应用程序,我已经弄乱了Jake的基本实现,但它本质上是一样的。我添加了一个禁用数据库选择的属性。我已将控件放入我的应用程序中,如下所示:为了解决这个问题,我对SqlConnectionStringBuilder的代码隐藏进行了一些重构,但这似乎是有问题的代码:publicstaticreadonlyDependencyPropertyConnect

c# - UserControl 动画按钮的背景

如果鼠标位于Button上,我想为Button的Background设置动画。Button的Background绑定(bind)到我在UserControl的代码隐藏中创建的自定义依赖属性...Background="{BindingBGColor,Elementname="QButton"}"现在,如果我尝试使用为按钮的背景设置动画我得到一个异常:cannotanimateanimmutableproperty(orsimilar).我该如何解决这个问题? 最佳答案 基于MikeHillberg关于Cannotanimate'..

c# - WCF 反序列化中的 XmlException : "Name cannot begin with ' <'" - in automatic property backing fields

我今天开始在WCF反序列化中遇到错误-代码一直没有改变并且工作了几个月。问题是我正在获取运行时XmlException说“名称不能以‘k_BackingField,这是XmlException的来源。我在网上看到了其他一些引用资料,其中人们接受的解决方案是“我更改了我的代码以不使用自动属性”,这对我来说是不能接受的,因为我需要更改100个对象,(其中有1000个属性)。此外,当我上周运行这段相同的代码时,它运行良好,似乎并没有影响所有序列化的DTO,只有一些。更令人沮丧的是,它似乎有点断断续续。今天早上偶尔会抛出异常...!问题;为什么在未更改的代码和未更改的框架源中突然出现此问题?如

C# 验证 : IDataErrorInfo without hard-coded strings of property name?

实现IDataErrorInfo的最佳做法是什么?无论如何都可以在没有属性名称硬编码字符串的情况下实现它? 最佳答案 通用验证例程的基类您可以使用DataAnnotations如果您在IDataErrorInfo实现中做了一些futzing。例如,这是我经常使用的基本View模型(来自Windows窗体,但您可以推断):publicclassViewModelBase:IDataErrorInfo,INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropert

c# - 绑定(bind)到 UserControl DependencyProperty

我创建了一个带有一些DependencyProperties的UserControl(在此处的示例中只有一个字符串属性)。当我实例化Usercontrol时,我可以设置UserControl的属性,它会按预期显示。当我尝试通过绑定(bind)替换静态文本时,没有显示任何内容。我的用户控件如下所示:背后的代码是:namespaceTestUserControBinding{publicpartialclassMyUserControl:UserControl{publicMyUserControl(){InitializeComponent();this.DataContext=this