我试图在我的主应用程序和用户控件之间共享一个 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 }"/>
这将创建 2 个 DataFrameAsymmetric 实例。一个在主应用程序中,一个在用户控件中。
如何设置程序以创建单个共享实例?