C# 在WPF中共享ObjectDataProvider
我正在尝试在主应用程序和用户控件之间共享ObjectDataProvider资源。我在应用程序和用户控件中包含的单独资源字典文件中定义odpC# 在WPF中共享ObjectDataProvider,c#,wpf,objectdataprovider,C#,Wpf,Objectdataprovider,我正在尝试在主应用程序和用户控件之间共享ObjectDataProvider资源。我在应用程序和用户控件中包含的单独资源字典文件中定义odp <ObjectDataProvider x:Key="AsymmetricFrameHolder" ObjectType="{x:Type data:DataFrameAsymmetric}"/> 并将其绑定到用户控件中: <Grid Name="grid" Height="Auto" Width="Auto"
<ObjectDataProvider x:Key="AsymmetricFrameHolder"
ObjectType="{x:Type data:DataFrameAsymmetric}"/>
并将其绑定到用户控件中:
<Grid Name="grid" Height="Auto" Width="Auto"
DataContext="{StaticResource AsymmetricFrameHolder}">
然后:
这将创建DataFrameAsymetric的两个实例。一个在主应用程序中,一个在用户控件中
如何设置程序以创建单个共享实例?如果您可以选择不同的路径,则此问题可以轻松解决。将您的类DataFrameAsymetric转换为,并在您想要使用它的实例的任何位置使用以下命令
<Grid Name="grid" Height="Auto" Width="Auto" DataContext="{Binding Source={x:Static data:DataFrameAsymmetric.Instance}}">
谢谢你的回答,但是单身汉在这里不行。我需要在程序中创建多个类的实例。实际上,这段代码帮了我很多忙!我想知道如何刷新objectdataprovider。谢谢
<TextBox Name="TextBox_Length" Grid.Row="0" Grid.Column="1"
Text="{Binding Path=Length }"/>
<Grid Name="grid" Height="Auto" Width="Auto" DataContext="{Binding Source={x:Static data:DataFrameAsymmetric.Instance}}">
DataFrameAsymmetric.Instance