我正在尝试在我的主应用程序和用户控件之间共享ObjectDataProvider资源。我在一个单独的资源字典文件中定义odp,该文件包含在应用程序和用户控件中。
然后我尝试按照以下方式在主应用程序中访问它:
<ObjectDataProvider x:Key="AsymmetricFrameHolder"
ObjectType="{x:Type data:DataFrameAsymmetric}"/>
然后我尝试按照以下方式在主应用程序中访问它:
ObjectDataProvider odp = (ObjectDataProvider)Resources["AsymmetricFrameHolder"];
return (DataFrameAsymmetric)odp.ObjectInstance;
然后在用户控件中绑定它:
<Grid Name="grid" Height="Auto" Width="Auto"
DataContext="{StaticResource AsymmetricFrameHolder}">
然后:
<TextBox Name="TextBox_Length" Grid.Row="0" Grid.Column="1"
Text="{Binding Path=Length }"/>
这将创建两个DataFrameAsymmetric实例。一个在主应用程序中,另一个在用户控件中。
我该如何设置程序,以便创建单个共享实例?