2011-08-12 28 views
0

我有一堆網格中的CheckBoxes。我想訪問它們,以便在啓動時根據註冊表值設置它們以進行選中或取消選中。有沒有辦法獲得UIElementCollection中的項目?

我已經得到了網格的孩子作爲UIElementCollection,並篩選出其他類型..但是,似乎沒有任何方式訪問存儲在集合內的數據。有沒有一個簡單的方法來做到這一點?

回答

5

UIElementCollectionIEnumerable所以你可以遍歷它...

foreach(UIElement child in myUIElementCollection) 
{ 
} 
1

要按類型簡化搜索的控制或任何你可以以這種方式使用VisualTreeHelper和遍歷元素:

foreach (UIElement childElement in myUIElementCollection) 
{ 
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(childElement); i++) 
    { 
    DependencyObject child = VisualTreeHelper.GetChild(depObj, i); 
    var checkBox = child as CheckBox; 
    if (checkBox != null) 
    { 
     // update it 
    } 
    } 
} 

順便說一句,爲什麼只是不暴露像IsRegistryValueFound布爾屬性,只是將其綁定到CheckBox.IsChecked財產XAML

+0

註冊表值是一個位掩碼,我需要檢查每一位,並將複選框設置爲相應地選中或取消選中。 – Luke

+0

我結束了使用 如果(o是) { } 要檢查我想要的元素。 – Luke

+0

感謝您的幫助,儘管 – Luke

相關問題