好吧,如果您真的需要SelectedItem
在 a 中公开 from,UserControl
为什么不用这样的属性来扩展它呢?
例如
public class MyUserControl : UserControl
{
private static readonly SomeType SelectedItemProperty =
DependencyProperty.Register("SelectedItem", typeof(SomeType), typeof(MyUserControl));
public SomeType SelectedItem
{
get { return (SomeType)GetValue(SelectedItemProperty); }
set { SetValue(SelectedItemProperty, value); }
}
}
所以现在你可以将 in 的 绑定SelectedItem
到DataGrid
它UserControl
的SelectedItem
属性上。
<MyUserControl>
<DataGrid SelectedItem="{Binding SelectedItem,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type MyUserControl}}" />
</MyUserControl>
现在你只需要找到一种方法来访问SelectedItem
. TabItem
但我把那部分留给你。
请注意,这只是我的想法的一个说明,它可能包含一些小错误。