代码之家  ›  专栏  ›  技术社区  ›  Charles

WPF:如何创建需要构造函数中的参数的应用程序资源?

  •  3
  • Charles  · 技术社区  · 17 年前

    在App.xaml文件中创建资源时遇到问题。我的问题是,我想实例化一个在构造函数中需要参数的对象(在这种情况下是Linq到Sql DataContext),但我不知道是否可以在XAML中传递这样的参数。有人知道解决这个问题的方法吗?我想在XAML中全局访问此数据上下文,我的想法是可以将其作为参数传递给Contoso:

       <ObjectDataProvider x:Key="PriceCodeProvider" x:Name="priceCodeProvider" ObjectType="{x:Type local:PriceCodeObjectDataProvider}" >
            <ObjectDataProvider.ConstructorParameters>
                <StaticResource ResourceKey="MyDataContext" />
            </ObjectDataProvider.ConstructorParameters>
        </ObjectDataProvider>
    

    从设计的角度来看,我相信有更好的方法来实现我想要的东西,但我对WPF还是相当陌生的。..在一点帮助下,我认为这将完成我的特定项目。

    谢谢!

    -查尔斯

    1 回复  |  直到 17 年前
        1
  •  0
  •   louisgab    15 年前

    XAML不允许传递构造函数参数。您需要创建一个包装器类,设置属性,然后您的包装器可以调用 ObjectDataProvider 构造函数正确。