親ユーザーコントロール(Counterparties_MainWindow)と埋め込みユーザーコントロール(Counterparties_UserInputsおよびCounterparties_SystemDetails)で構成される複合ビューがあります。
<UserControl x:Class="Counterparties_MainWindow">
<av:UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Counterparties_Dictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
<CollectionViewSource x:Key="counterpartiesDataView" Source="{Binding Path=CounterpartiesData}" />
</ResourceDictionary>
</av:UserControl.Resources>
<DockPanel>
<DockPanel>
<GUI:Counterparties_UserInputs x:Name="UserInputs"/>
<GUI:Counterparties_SystemDetails x:Name="SystDetails"/>
</DockPanel>
</DockPanel>
「Counterparties_SystemDetails」には、CounterpartiesData(オブジェクトのリスト)からの定義済みのフィールドを表示するグリッドが含まれています。「Counterparties_UserInputs」には、ユーザーが定義する必要のあるCounterpartiesDataのまだ定義されていないフィールドのリストが表示されます。
以前は、Counterparties_SystemDetailsユーザーコントロールxamlにCollectionViewSourceがあり、グリッドをそれに直接バインドしていましたが、機能していました(つまり、CounterpartiesDataの詳細を表示していました)。
<DataGrid Name="CounterpartiesGrid" ItemsSource="{Binding Source={StaticResource counterpartiesDataView}}"
SelectedItem="{Binding Path=SelectedCounterparty, Mode=OneWayToSource}" Style="{StaticResource DataGridStyle}">
ただし、両方のサブコントロールで同じCounterpartiesDataオブジェクトを共有するために、CollectionViewSourceを親ウィンドウに移動したので、グリッドにバインドする方法が見つかりません。そのためのヒントを教えてください。
最後になりましたが、ユーザーコントロールCounterparties_UserInputsのテキストボックスフィールドに、現在選択されているカウンターパティ名を表示したいと思います。どうすれば簡単にアクセスできるか知っていますか?
ありがとうございました!