void ComboBox::OnSelectionChanged(suic::Element* sender, SelectionChangedEventArg& e) { if (e.AddedItems()->GetCount() > 0) { suic::FrameworkElementPtr selPtr(e.AddedItems()->GetAt(0)); if (!_textBox->GetText().Equals(selPtr->GetText())) { _textBox->SetText(selPtr->GetText()); if (_textBox->IsReadOnly() || !_textBox->IsEnabled() || StaysOpenOnEdit()) { _textBox->InvalidateVisual(); } else { _textBox->SetFocus(); } suic::SelectedEventArg se(selPtr, true, 0); se.SetRoutedEvent(IsSelectedEvent); RaisedEvent(&se); } } }
void TreeViewItem::OnCollapsed() { // // 取得树对象指针 // TreeView* pTree = GetParentTreeView(this); WriteFlag(CoreFlags::IsCollapsed, true); TreeViewItemPtr selPtr(pTree->SelectedItem()); // // 如果自己的子孙选择了,取消,选中本节点 // if (selPtr && selPtr.get() != this) { selPtr->Unselect(); Select(); } if (pTree) { pTree->UpdateLayout(); } }