2017-02-17 67 views
2

我已經創建了一個UserControl,並且我想公開在UserControl中使用的ItemsControl的ItemsSource。但我想通過一個單獨的屬性,露出項目,像這樣:WPF:通過一個單獨的屬性在UserControl中公開ItemsControl.ItemsSource

<MyUserControl> 
    <MyProperty> 
    <Button>Button 1</Button> 
    <Button>Button 2</Button> 
    </MyProperty> 
</MyUserControl> 

原因由產權分離是因爲我需要創建多個屬性這樣。我嘗試以不同的方式創建一個依賴項屬性,但是我無法按照自己的想法使其工作。如果沒有單獨的財產,我可以使其工作。

我發現下面的主題中的一些線索,但解決方案不使用一個單獨的屬性: How to create WPF usercontrol which contains placeholders for later usage

任何幫助表示讚賞。

回答

1

事實證明,我需要使用兩個依賴屬性來獲得所需的結果。從Microsoft其正在按預期

實施例:

Private Shared ReadOnly MyPropertyPropertyKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("MyProperty", GetType(List(Of FrameworkElement)), GetType(MyUserControl), New FrameworkPropertyMetadata(New List(Of FrameworkElement)())) 
Public Shared ReadOnly MyPropertyProperty As DependencyProperty = MyPropertyPropertyKey.DependencyProperty 

Public ReadOnly Property MyProperty() As List(Of FrameworkElement) 
    Get 
     Return CType(GetValue(MyPropertyProperty), List(Of FrameworkElement)) 
    End Get 
End Property 
相關問題