![](/img/trans.png)
[英]How to Load a WPF window in the MainWindow as a TabControl item?
[英]How do I bind a selected treeView Item within a user control to a tabControl in the MainWindow in WPF XAML?
我在userControl
中有一个treeView
:
<TreeView x:Name="treeData"
Background="#282828" BorderThickness="0" Padding="0,5,0,0"
SelectedValuePath="Uid">
<TreeViewItem Header="Data1" x:Name="tData1" Uid="tabData1">
<TreeViewItem Header="Data1-1" x:Name="tP1" Uid="Data1"/>
<TreeViewItem Header="Data1-2" x:Name="tP2" Uid="Data1"/>
</TreeViewItem>
<TreeViewItem Header="Data2" x:Name="tData2" Uid="tabData2"/>
<TreeViewItem Header="Data3" x:Name="tData3" Uid="tabData3"/>
<TreeViewItem Header="Data4" x:Name="tData4" Uid="tabData4"/>
<TreeViewItem Header="Data5" x:Name="tData5" Uid="tabData5"/>
<TreeViewItem Header="Data6" x:Name="tData6" Uid="tabData6"/>
<TreeViewItem Header="Data7" x:Name="tData7" Uid="tabData7"/>
</TreeView>
和MainWindow
中的TabControl
:
<TabControl Grid.Column="1">
<TabItem Header="tabPs"
</TabItem>
<TabItem Header="tabPln"
</TabItem>
<TabItem Header="tabLn"
</TabItem>
<TabItem Header="tabAx"
</TabItem>
<TabItem Header="tabSp"
</TabItem>
<TabItem Header="tabPL">
</TabItem>
<TabItem Header="tabPk">
</TabItem>
<TabItem Header="tabAP"/>
</TabItem>
</TabControl>
当用户单击UserControl TreeView Item
中的 Item 时,我需要能够选择正确的 tabItem 。 有没有办法将UserControl
中 treeView 的选择绑定到主窗口上的选项卡 select?
I'd previously asked a similar question here: WPF C# Bind multiple treeViewItems isSelected to tabItem isSelected but it is aimed at a userControl
that has the tabControl
as opposed to the TreeView
and I'm struggling to see how to bind it when the TreeView
is在UserControl
和tabControl
在MainWindow
用户控件位于网格内的MainWindow
中:
<views:TreeViewCntrl Grid.Column="1" x:Name="treeViewGeo">
</views:TreeViewCntrl>
将treeData
字段设为internal
或使用UserControl
的public
属性公开它:
<TreeView x:Name="treeData" x:FieldModifier="internal" ... />
然后,您可以处理 window 中“UserControl”的TreeView
的SelectedItemChanged
事件:
treeViewGeo.treeData.SelectedItemChanged += (ss, ee) =>
{
var selectedTreeViewItem = ee.NewValue as TreeViewItem;
...
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.