通过Key获取资源中的对象

本文关键字:对象 资源 Key 获取 通过 | 更新日期: 2023-09-27 18:08:20

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

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

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

我想做的是(伪代码):

validationObj.myInstanceVar

但是它甚至找不到"validationObj"。什么好主意吗?

通过Key获取资源中的对象

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

var valObj = (CustomValidation)this.FindResource("validationObj");
var whatever = valObj.myInstanceVar;

您询问如何在codebehind

中访问在XAML中声明的控件

use x:name

而不是在代码后面使用poo

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

一般来说,你不应该有代码滞后,并使用MVVM设计模式来避免它。

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