我有一个xaml文件,其中我有一个ListView(让我们称之为OuterListView),我可以通过名称访问。OuterListView的ItemTemplate使用StaticResource,让我们称之为CustomListViewItem。CustomListViewItem与DataTemplate在同一个文件中定义,它也有一个ListView(让我们称之为InnerListView),它也使用CustomListViewItem作为ItemTemplate。
所以它看起来像这样:
OuterListView (CustomListViewItems as its Items)
CustomListViewItem (each of the below 3 may have its own ListView (InnerListView) as defined in DataTemplate)
CustomListViewItem
CustomListViewItem
我试图实现的事情是通过单击“全选”按钮从InnerListViews中选择所有Items。我单击它,我可以遍历CustomListViewItems,很容易,因为我有OuterListViews的名称,但不幸的是,我不知道如何从CustomListViewItems的InnerListViews中访问元素,以便通过C++代码设置IsSelected属性。
如果你有任何提示如何做到这一点,或者如果你知道肯定是不可能的(不太可能)-请让我知道。
谢谢!
1条答案
按热度按时间bxfogqkk1#
可以使用VisualTreeHelper Class访问CustomListViewItems的InnerListViews中的元素。
首先使用
GetParent
获取根节点(OuterListView),然后从根节点开始查找子控件,可以根据控件类型或x:name进行搜索。C++代码示例:https://github.com/microsoft/Windows-universal-samples/blob/main/Samples/Logging/cpp/Scenario2.xaml.cpp#L34