0

这应该是WPF的初学者问题,但我找不到简单的答案。如何获得 WPF 中声明的对象的句柄?

<Window x:Class="Testprj" xmlns:local="clr-namespace:Testprj">
    <Window.Resources>
        <local:CustomValidation x:Key="validationObj"/>
    </Window.Resources>
</Window>

如果我没记错的话,上面的代码是用键“validationObj”创建一个“CustomValidation”对象的实例。现在,假设每个“CustomValidation”对象都有一个名为“ myInstanceVar ”的实例变量,我如何从后面的代码中获取 myInstanceVar 的值?

我正在尝试做的是(伪代码):

validationObj.myInstanceVar

但它甚至找不到“validationObj”。有任何想法吗?

4

2 回答 2

2

我相信您在问如何从后面的代码中使用该对象。我相信this.FindResource("validationObj")会成功的。

var valObj = (CustomValidation)this.FindResource("validationObj");
var whatever = valObj.myInstanceVar;
于 2013-04-09T14:38:27.780 回答
0

你问如何在代码隐藏中访问 XAML 中声明的控制

使用 x:name

而不是在你的代码隐藏中使用便便

http://msdn.microsoft.com/en-us/library/ms752290.aspx

通常你不应该有代码并使用 MVVM 设计模式来避免它。

这是一个很好的起点: MVVM:从头到尾的教程?

于 2013-04-09T14:36:08.020 回答