我在 App.xaml 文件中创建资源时遇到问题。我的问题是我想实例化一个在其构造函数中需要参数的对象(在这种特殊情况下是我的 Linq-to-Sql DataContext),但我不知道是否可以在 XAML 中传递这样的参数。有谁知道解决这个问题的方法?我想在我的 XAML 中全局访问这个数据上下文,我的想法是我可以将它作为参数传递给 ObjectDataSource:
<ObjectDataProvider x:Key="PriceCodeProvider" x:Name="priceCodeProvider" ObjectType="{x:Type local:PriceCodeObjectDataProvider}" >
<ObjectDataProvider.ConstructorParameters>
<StaticResource ResourceKey="MyDataContext" />
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
从设计的角度来看,我确信有更好的方法可以完成我正在寻找的东西,但我对 WPF 还很陌生......在一些帮助下,我认为这可以完成工作对于我的特定项目。
谢谢!
-查尔斯
最佳答案
XAML 不允许传递构造函数参数。您需要创建一个包装器类,设置属性,然后您的包装器才能正确调用 ObjectDataProvider
构造函数。
关于c# - WPF:创建在构造函数中需要参数的应用程序资源 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/703323/