簡體   English   中英

如何將用戶控件中選定的 treeView 項目綁定到 WPF XAML 的 MainWindow 中的 tabControl?

[英]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在UserControltabControlMainWindow

用戶控件位於網格內的MainWindow中:

        <views:TreeViewCntrl Grid.Column="1" x:Name="treeViewGeo">
        </views:TreeViewCntrl>

treeData字段設為internal或使用UserControlpublic屬性公開它:

<TreeView x:Name="treeData" x:FieldModifier="internal" ... />

然后,您可以處理 window 中“UserControl”的TreeViewSelectedItemChanged事件:

treeViewGeo.treeData.SelectedItemChanged += (ss, ee) => 
{
    var selectedTreeViewItem = ee.NewValue as TreeViewItem;
    ... 
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM