我创建了一个类,它将成为我的应用程序的DataContext,并通过XAML实例化它:
<Window x:Class="MyApp.UI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:myDataModel="clr-namespace:MyApp.MyDataModel"
Title="MainWindow">
<Window.Resources>
<myDataModel:MyDataClass x:Name="the_DataModel" x:Key="a_DataModel"/>
</Window.Resources>
我想在我的Window的构造函数中对此对象执行操作:
public MainWindow()
{
InitializeComponent();
the_DataModel.LoadFromFile(); // One of these *should* work!
a_DataModel.LoadFromFile();
}
然而,似乎名称(the_DataModel
和a_DataModel
)都不是Window类的成员。当我输入this.
并使用自动完成时,我找不到任何类似于我在XAML中创建的对象的内容。
如何在XAML中创建类的实例,并在代码中访问它?
答案 0 :(得分:2)
由于您已将其作为资源添加到窗口资源中,因此您可以通过使用资源键建立索引来 get it from Resource collection
。
MyDataClass dataModel = (MyDataClass)Resources["a_DataModel"];
dataModel.LoadFromFile();