在我的XAML中,我声明了一个名为DataConnection的类的实例,该实例名为MyConnection。

<Window.Resources>
        <!-- Create an instance of the DataConnection class called MyConnection -->
        <!-- The TimeTracker bit comes from the xmlns above -->
        <TimeTracker:DataConnection x:Key="MyConnection" />
        <!-- Define the method which is invoked to obtain our data -->
        <ObjectDataProvider x:Key="Time" ObjectInstance="{StaticResource ResourceKey=MyConnection}" MethodName="GetTimes" />
        <ObjectDataProvider x:Key="Clients" ObjectInstance="{StaticResource ResourceKey=MyConnection}" MethodName="GetClients" />
</Window.Resources>

XAML部分中的所有内容都可以正常运行。我想要的是能够从我的C#代码中引用MyConnection的实例。

那怎么可能?

最佳答案

调用FindResource("MyConnection")(docs)。您需要将其强制转换为特定类型,因为资源可以是任何类型的对象。

对于不确定不确定资源是否存在的情况,还有一个TryFindResource方法。

关于c# - 从C#访问XAML实例化对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2039425/

10-10 12:26