Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中共享ObjectDataProvider_C#_Wpf_Objectdataprovider - Fatal编程技术网

C# 在WPF中共享ObjectDataProvider

C# 在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资源。我在应用程序和用户控件中包含的单独资源字典文件中定义odp

<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