我有一個組合框,我綁定到一個可觀察的集合,它會被更改(根據公司選擇),並且大量的公司將有一個單一的帳戶(項目),因此我想要知道如果ItemsSource中只有1個項目,使ComboBox設置SelectedItem的最佳方式是什麼,否則將其保留爲空以確保用戶選擇一個帳戶。WPF組合框自動選擇如果只有1個項目
我現在這樣做的方法是每次更改帳戶集合時檢查帳戶集合,如果它僅包含一個,則將綁定的選定項目屬性設置爲集合中的第一個項目。
這看起來很長,我需要分別實現它到每個視圖模型中,併爲每個組合框編寫最多5行代碼。
以下是我目前的代碼,但我想知道是否有可能通過擴展ComboBox控件來實現此目的?如果任何人有任何想法如何/從哪裏開始。
public CompanyGermanPower FromCompany
{
get { return _fromCompany; }
set
{
SetField(ref _fromCompany, value,() => FromCompany);
if(value!= null)
{
FromTradeAccountList = new ObservableCollection<TradeAccount>(TradeAccountAdapter.GetTradeAccounts(_session, value.ID));
if (Trade != null && FromTradeAccountList.Count == 1) Trade.TradeAccountFrom = FromTradeAccountList[0];
}
}
} private CompanyGermanPower _fromCompany;
感謝這個,五個這個去吧:)看起來很有希望 – 2010-06-25 09:34:25
工作很好,希望我可以多投票一次!很好的解釋和代碼! – 2010-08-25 10:48:40