/ / Väzba objekt základnej triedy pre Gridview itemSource v aplikácii Windows Store (aplikácia metro) c ++ nefunguje - vizuálna-c ++, gridview, data-binding, windows-runtime, windows-store-apps

Väzba objektu základnej triedy na objekt Gridview itemSource v aplikácii Windows Store (aplikácia metro) c ++ nefunguje - visual-c ++, gridview, data-binding, windows-runtime, windows-store-apps

V mojom obchode so systémom Windows Store implementujem túto vlastnosťzmeniť udalosť v základnej triede s názvom "BaseClass" a napísať vlastnosti, ktoré chcem viazať na moju položku gridview a zdedím túto základnú triedu "BaseClass" v odvodenej triede "DerivedClass".

[Windows::UI::Xaml::Data::Bindable]
ref class BaseClass: Windows::UI::Xaml::DependencyObject, Windows::UI::Xaml::Data::INotifyPropertyChanged
{
}

ref class DerivedClass: public BaseClass
{
}

potom som vytvoril Windows :: UI :: Xaml :: Interop ::IBindableObservableVector ^ vektor a pripojiť objekt triedy bázy z odvodeného objektu triedy pomocou safe_cast. Ale jeho nezaväzuje dáta základnej triedy na zobrazenie mriežky, ale keď vytvorím objekt základnej triedy, jeho dáta sa môžu viazať na mriežku.

DerivedClass^ derivedClass = ref new DerivedClass();
BaseClass^ baseClass = safe_cast<BaseClass^>(derivedClass);

Windows::UI::Xaml::Interop::IBindableObservableVector^ m_Vector = ref new Platform::Collections::Vector<BaseClass^>();
m_Vector->Append(baseClass);

gridview->ItemsSource = m_Vector; // Not binding data to gridview.

ale

BaseClass^ baseClass2 = ref new BaseClass();
Windows::UI::Xaml::Interop::IBindableObservableVector^ m_Vector = ref new Platform::Collections::Vector<BaseClass^>();
m_Vector->Append(baseClass2);

gridview->ItemsSource = m_Vector; // its Binding data to gridview.

odpovede:

0 pre odpoveď č. 1

Možno budete musieť komentovať model zobrazenia ako Bindable:

[Windows::UI::Xaml::Data::Bindable]
ref class DerivedClass: public BaseClass
{

}