我正在爲我的應用程序編寫一個WPF用戶控件,包裝一個ListBox和一些其他項目。如何爲我的Wpf UserControl實現DisplayMemberPath?
ListBox有一個新的ItemTemplate,它爲我的列表中的每個項目提供四條信息。我可以將四個綁定中的每一個硬編碼到我的列表項上的特定屬性,並且它們顯示正常。
但是,我希望我的UserControl更靈活一點。
在ListBox和ComboBox有一個屬性DisplayMemberPath(繼承自ItemsControl),似乎將相應的屬性綁定「注入」到標準ItemTemplate中。
如何通過我的用戶控制實現相同的結果?
我想成立四個新的屬性,讓顯示的信息配置:回顧與ItemsControl.DisplayMemberPath反射
public string LabelDisplayPath { get; set; }
public string MetricDisplayPath { get; set; }
public string TitleDisplayPath { get; set; }
public string SubtitleDisplayPath { get; set; }
似乎在下降兔子洞,我一直沒能瞭解它是如何工作的。另外,如果我完全偏離了課程 - 並且還有另外一種更應該使用的「WPF」技術,請指出我的方向。
更新
這裏有一個澄清什麼,我想要的目的。
列表框我的用戶控件顯示四個信息每個項目中:標籤,標題,副標題和公制
在一個地方,我想用這個用戶控件來顯示的問題的列表。每一個問題是這樣的:
public class Issue {
public string Code { get; set; }
public string Description { get; set; }
public string Priority { get; set; }
public string Reporter { get; set; }
}
當顯示的問題,我想用下面的映射:
Code --> Label
Description --> Title
Reporter --> Subtitle
Priority --> Metric
別處在同一個應用程序,我的職位名單,我想用顯示相同的UserControl。每個帖子是這樣的:
public class Post {
public DateTime PostedOn { get; set; }
public string Title { get; set; }
public string Teaser { get; set; }
public int CommentCount { get; set; }
}
當顯示的帖子,我想用下面的映射:
PostedOn --> Label
Title --> Title
Teaser --> Subtitle
CommentCount --> Metric
考慮到的問題和文章是完全不同的抽象,我不想強迫他們具有相同的屬性,只是爲了使用戶控件能夠保持不變。相反,我想介紹一些可配置性,以便我可以在兩個站點中乾淨地重用我的UserControl。
我不太明白你想要做什麼。通過對你的綁定進行「硬編碼」,你僅僅依靠數據綁定這一事實來獲得靈活性,對嗎?我的意思是,您可以綁定到任何DependencyProperty並在代碼隱藏中更改該值。你可以發佈你正在使用的XAML樣本,並突出顯示你不滿意的是什麼? – Dave 2010-05-05 03:48:55