我有類標記模仿ItemsControl的行爲
class Marker {
public double Position {get; set;}
public string Label {get; set;}
}
和自定義控件等性質,公開標記
class MyControl {
public ObservableCollection<Marker> Markers {get; set;}
}
的集合,我想模仿ItemsControl的行爲,並允許我的組件的用戶直接或通過使用ItemsSource類比來指定標記。此外,我想這兩種方法使用MarkersSource
<my:MyControl MarkersSource={Binding UserSpecifiedCollection}">
</my:MyControl>
第一種方法是非常簡單的,但我支持數據綁定(優選在XAML)
標記直接
<my:MyControl>
<my:MyControl.Markers>
<my:Marker Position="{Binding X}" />
</my:MyControl.Markers>
</my:MyControl>
標記'正在與第二個掙扎。
我該如何實現MarkesSource?如何將UserSpecifiedCollection的項目轉換爲標記類型?如何將UserSpecifiedCollection項目的屬性綁定到Marker的屬性?
關於轉換我認爲可以使用ValueConvertor,但我更喜歡純粹的XAML解決方案,如DataTemplates。有可能的?
語法高亮取決於問題上的標記。 – 2011-04-25 02:20:24
@Rick Sladkey:所以我聽說過;它肯定會很好,如果它會比這更聰明一些... – 2011-04-25 02:55:22
對我而言,這是一個愚蠢的行爲,有時候它的表現會有所不同。 – 2011-04-25 02:58:13