-1
使用Prism庫我已經建立了一個模型繼承BindableBase(INotiftyPropertyChanged)。如何添加一個新的列表框項目foreach列表<string>
然後在ViewModel中,在構造函數中,我創建了一個ReadConnections類的新對象,它將從本地XML文件返回一個連接名稱列表。
然後我在ReadConnections類中設置方法GetIdNode的Connections屬性。
最後,我將Listbox ItemSource綁定到Connections屬性。當我運行應用程序時,Listbox不會被任何列表框項目填充。我不確定綁定ItemSource是否正確,我從來沒有將任何東西綁定到列表框。
模型類:
public class LoginDialogModel : BindableBase
{
private List<string> _connections;
public List<string> Connections
{
get { return _connections; }
set { _connections = value; }
}
}
視圖模型類的構造函數:
public LoginDialogVM()
{
ReadConnections read = new ReadConnections();
LoginModel.Connections = read.GetIdNodes();
}
XAML:
<ListBox HorizontalAlignment="Left" Height="247" Margin="10,10,0,0"
VerticalAlignment="Top" Width="135" ItemsSource="{Binding LoginModel.Connections}"/>
你需要某種形式的變更通知在你的清單,清單沒有實現這樣的事件使用ObeservableCollection 來代替。 –
你有沒有設置datacontext?另外,使用BindableBase的SetProperty進行通知。 – Helic
這兩個建議的工作。 Observable集合起作用了,我也沒有意識到我遺漏了SetProperty,它也起作用。 –