Чувак - Все можно сделать с помощью XAML: D
Следуя подходу MVVM, я бы порекомендовал вам сделать следующее:
1 / Начало работы: A DockPanel
<DockPanel LastChildFill="True">
<Button DockPanel.Dock="Bottom" />
<ListBox />
</DockPanel>
2 / Свяжите свой ListBox
с ObservableCollection
в вашей ViewModel:
<ListBox ItemsSource="{Binding ListElements}" />
В ViewModel:
private ObservableCollection<String> _listElements;
public ObservableCollection<String> ListElements
{
get { return _listElements; }
set { _listElements = value; }
}
3 / Привязать содержимое Button
к предопределенному String
:
<Button Content="{Binding ButtonString}" />
В ViewModel:
public String ButtonString
{
get
{
//There, define if there are any more things to display
}
}
4 / Ваш Button
запускает Command
запускает метод, скажем GetMore()
:
<Button Content="{Binding ButtonString}" Command="{Binding GetMoreCommand} />
В ViewModel:
private void GetMore()
{
//append to the _listElements new elements from the list
//Update the ButtonString if there are no more elements
}
И вот, пожалуйста!
(вы также можете, при необходимости, определить кнопку, удаляющую вещи из ObservableCollection
, например)