Предположим, у вас есть модель вида, подобная этой:
public class ViewModel
{
public IEnumerable<MyData> MyDataCollection{get; private set;}
}
Где
public class MyData
{
public MySubsetData MySubsetData { get; }
}
Ваше представление, содержащее сетку данных, будет
<UserControl.DataContext>
<local:ViewModel>
</UserControl.DataContext>
<DataGrid ItemsSource="{Binding Path=MyDataCollection}">
<DataGrid.Columns .../>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<!-- each row of the items control has an implicit DataContext of MyData -->
<!-- so bind the DataContext of the subset control to MySubsetData -->
<local:MySubsetDataUserControl DataContext={Binding MySubsetData}/>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Теперь вашуправление подмножеством может выглядеть как
<UserControl>
<Grid>
<TextBox Text="{Binding Path=TextData, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</UserControl>
Перечитывая вопрос, возможно, все, что я сделал, это повторил Xaml из вопроса немного по-другому.
Однако различные классыдолжен реализовывать INotifyPropertyChanged, например,
public class MySubsetData : INotifyPropertyChanged
{
public string TextData
{
get{...}
set{...; OnPropertyChanged("TextData"); }
}
}
Тогда TextBox, связанный со свойством TextData, будет отражать изменения, сделанные в коде.