2013-08-06 164 views
0

我有建立一個WPF用戶控件,其包含與包含用戶控件內控制(一個在彈出)的自定義彈出窗口組合框有一定的性質,我想在主用戶,以暴露控制,以便主機頁面可以讀取和寫入內部控制。WPF嵌套用戶控制

我無法這樣做,是不是我做錯了,或者是我做不明智?

問候克里斯蒂安·安徒生

+1

用戶控件應該能夠公開這些屬性和它們傳遞到內心控制......介意顯示一些代碼? – sergioadh

+1

你想暴露什麼類型的屬性?您可以藉助依賴項屬性。如果可以,請分享您的代碼。 – Vikram

+0

你能否詳細說明您遇到的麻煩嗎?當你沒有解釋你所嘗試的是不是行不通的時候,很難提供幫助。 –

回答

0

你可以嘗試將其暴露使用該

public static IEnumerable<T> FindVisualChildren<T>(this DependencyObject depObj) where T : DependencyObject 
     { 
      if (depObj == null) yield break; 
      for (var i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++) 
      { 
       var child = VisualTreeHelper.GetChild(depObj, i); 
       var children = child as T; 
       if (children != null) 
       { 
        yield return children; 
       } 

       foreach (T childOfChild in FindVisualChildren<T>(child)) 
       { 
        yield return childOfChild; 
       } 
      } 
     } 

我如何使用它

var uc = (TabItem)sender; 

      foreach (TextBlock textBlock in uc.FindVisualChildren<TextBlock>()) 
      { 
       textBlock.Foreground = Brushes.WhiteSmoke; 
      }