0
我想要WPF讀取C#對象的屬性。並將這些屬性名稱轉換爲WPF的Label控件。WPF從DataContext通過XAML添加StackPanel子控件
我想要WPF讀取C#對象的屬性。並將這些屬性名稱轉換爲WPF的Label控件。WPF從DataContext通過XAML添加StackPanel子控件
StackPanel
不生成項目。這只是一個Panel
,其功能只有Layout
。
你正在尋找一個ItemsControl
:
<ItemsControl ItemsSource="{Binding}">
<!-- ... -->
</ItemsControl>
其中,默認情況下將有一個StackPanel
因爲它是ItemsPanel
。
另請注意,將DataContext
設置爲單個實例的類別將不會使ItemsControl
創建任何元素。您需要將ItemsSource
財產設置爲IEnumerable
(例如List<MyClass>
等)。
//Window Constructor
public MainWindow()
{
DataContext = New List<MyClass>
{
//.. Items here
};
}
不,WPF不會自動從性質看Attribute
秒。您可以創建一個ViewModel來實現這一點,或者在XAML中對顯示名稱進行硬編碼。
+1很高興看到你在評論期後再次回答問題。 :) – Sheridan
@sheridan我一直在等待[這些](http://stackoverflow.com/a/21004225/643085)*「好吧,刪除所有的代碼,並開始一切......」*種情況... :P –
你不應該等待很長時間......其他所有的母親都聲稱使用WPF和MVVM,其中一半也不使用! – Sheridan