2013-10-13 27 views
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也不起作用。

+0

總是有對視圖模型持有的'SelectedItem'的屬性? –

+0

它將由Caliburn.Micro自動綁定。我擁有名爲SelectedGroupParent的屬性,當鼠標更改時它的值會更改,但它不會顯示在ComboBox文本框中。 –

+0

那麼你的問題是什麼,你說'SelectedItem'在視圖模型中發生了變化,但是在你的問題中你說'SelectedItem'不能改變? –

回答

1

那是我不好。

其實,我是重裝上的GotFocus組合框,這是使所選擇的項目在索引1