2014-01-15 37 views

回答

1

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中對顯示名稱進行硬編碼。

+0

+1很高興看到你在評論期後再次回答問題。 :) – Sheridan

+0

@sheridan我一直在等待[這些](http://stackoverflow.com/a/21004225/643085)*「好吧,刪除所有的代碼,並開始一切......」*種情況... :P –

+0

你不應該等待很長時間......其他所有的母親都聲稱使用WPF和MVVM,其中一半也不使用! – Sheridan