0
首先不工作的ComboBox選擇讓我把我的代碼。在WPF與鼠標
StockGroup的EntityType
public partial class StockGroup
{
public StockGroup()
{
this.StockGroups = new HashSet<StockGroup>();
this.Stocks = new HashSet<Stock>();
}
public int ID { get; set; }
public string GroupName { get; set; }
public Nullable<int> ParentID { get; set; }
public Nullable<System.DateTime> CreatedOn { get; set; }
public Nullable<System.DateTime> ModifiedOn { get; set; }
public virtual ICollection<StockGroup> StockGroups { get; set; }
public virtual StockGroup Parent { get; set; }
public virtual ICollection<Stock> Stocks { get; set; }
public override string ToString() { return GroupName; }
public override bool Equals(object obj)
{
StockGroup stkGrp = obj as StockGroup;
if (stkGrp == null)
return false;
else
return ID.Equals(stkGrp.ID);
}
public override int GetHashCode()
{
return ID.GetHashCode();
}
}
一個性質從視圖模型,其使用Caliburn.Micro結合組合框。
private IList<StockGroup> _groupParents;
public IList<StockGroup> GroupParents
{
get
{
return _groupParents;
}
set
{
_groupParents = value;
NotifyOfPropertyChange(() => GroupParents);
}
}
組合框XAML
<ComboBox Name="GroupParents" ToolTip="group parents"
Margin="5,0,5,5"
IsSynchronizedWithCurrentItem="True"
core:Message.Attach="[Event GotFocus]=[LoadGroupParents]"
IsEditable="True"
DisplayMemberPath="GroupName"
SelectedValuePath="ID"
IsReadOnly="False">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
一切都很好,到這裏和組合框從數據庫中獲取的所有數據。我在ComboBox中選擇了第一條記錄。 當我在第一個記錄使用鼠標,選擇的項目不能改變,它仍然選擇不同的組合框項目。 組合框選擇工作與的KeyDown,但不與鼠標。
有關的SelectedItem,我有所謂的財產,其SelectedGroupParent價值變動我通過鼠標的變化,但在組合框文本框是不顯示的時候。
請提出一些修正這一點。我一路試過,但沒有奏效。即使綁定到CollectionView也不起作用。
總是有對視圖模型持有的'SelectedItem'的屬性? –
它將由Caliburn.Micro自動綁定。我擁有名爲SelectedGroupParent的屬性,當鼠標更改時它的值會更改,但它不會顯示在ComboBox文本框中。 –
那麼你的問題是什麼,你說'SelectedItem'在視圖模型中發生了變化,但是在你的問題中你說'SelectedItem'不能改變? –