在我的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>
Run Code Online (Sandbox Code Playgroud)
XAML部分中的所有内容都可以正常工作.我想要的是能够从我的C#代码引用我的MyConnection实例.
怎么可能?
FindResource将搜索元素的资源字典以及任何父元素的资源字典和应用程序资源.
资源 ["MyConnection"]将仅搜索该元素的资源字典.
void Window_Loaded(object sender, RoutedEventArgs args) {
DataConnection dc1 = this.FindResource("MyConnection") as DataConnection;
DataConnection dc2 = this.Resources["MyConnection"] as DataConnection;
}
Run Code Online (Sandbox Code Playgroud)
文档推荐了第一种常规资源查找方法,但提供了第二种方法,用于从"已知资源字典位置检索资源...以避免运行时密钥查找可能的性能和范围影响".链接
| 归档时间: |
|
| 查看次数: |
2054 次 |
| 最近记录: |