// // $safeitemname$.xaml.cpp // Implementierung der $safeitemname$-Klasse // #include "pch.h" #include "$safeitemname$.xaml.h" using namespace $rootnamespace$; using namespace Platform; using namespace Platform::Collections; using namespace Windows::ApplicationModel::Activation; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Controls; using namespace Windows::UI::Xaml::Controls::Primitives; using namespace Windows::UI::Xaml::Data; using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Interop; using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Navigation; using namespace Windows::Storage::Pickers::Provider; // Die Elementvorlage "Auswahlvertrag zum Öffnen von Dateien" ist unter http://go.microsoft.com/fwlink/?LinkId=234239 dokumentiert. $wizardcomment$$wizardregistrationcomment$$safeitemname$::$safeitemname$() { InitializeComponent(); SetValue(_defaultViewModelProperty, ref new Map(std::less())); Window::Current->SizeChanged += ref new WindowSizeChangedEventHandler (this, &$safeitemname$::Window_SizeChanged); InvalidateVisualState(); } DependencyProperty^ $safeitemname$::_defaultViewModelProperty = nullptr; void $safeitemname$::RegisterDependencyProperties() { if (_defaultViewModelProperty == nullptr) { _defaultViewModelProperty = DependencyProperty::Register("DefaultViewModel", TypeName(IObservableMap::typeid), TypeName($safeitemname$::typeid), nullptr); } } /// /// triviales Anzeigemodell verwendet werden kann. /// IObservableMap^ $safeitemname$::DefaultViewModel::get() { return safe_cast^>(GetValue(_defaultViewModelProperty)); } /// /// Wird aufgerufen, wenn eine andere Anwendung Dateien von dieser Anwendung öffnen möchte. /// /// Aktivierungsdaten zum Koordinieren des Prozesses mit Windows. void $safeitemname$::Activate(FileOpenPickerActivatedEventArgs^ e) { _fileOpenPickerUI = e->FileOpenPickerUI; _fileOpenPickerUI->FileRemoved += ref new TypedEventHandler (this,&$safeitemname$::FilePickerUI_FileRemoved); // TODO: DefaultViewModel->Insert("Dateien", ) verwenden, wobei eine Auflistung // von Elementen ist, von denen jedes über bindbare Image-, Title- und Description-Eigenschaften verfügen sollte DefaultViewModel->Insert("CanGoUp", false); Window::Current->Content = this; Window::Current->Activate(); } void $safeitemname$::Window_SizeChanged(Platform::Object^ sender, Windows::UI::Core::WindowSizeChangedEventArgs^ e) { InvalidateVisualState(); } void $safeitemname$::InvalidateVisualState() { auto visualState = DetermineVisualState(); Windows::UI::Xaml::VisualStateManager::GoToState(this, visualState, false); } /// /// Wird aufgerufen, um den Namen des visuellen Zustands zu bestimmen, der dem Ansichtszustand einer Anwendung /// entspricht. /// /// Der Name des gewünschten visuellen Zustands. Dieser ist identisch mit dem Namen des /// Ansichtszustands, außer wenn ein ausgewähltes Element im Hochformat und in der angedockten Ansicht vorliegt, wobei /// diese zusätzliche logische Seite durch Hinzufügen des Suffix _Detail dargestellt wird. Platform::String^ $safeitemname$::DetermineVisualState() { return Windows::UI::Xaml::Window::Current->Bounds.Width >= 500 ? "HorizontalView" : "VerticalView"; } /// /// Wird aufgerufen, wenn der Benutzer eines der Elemente aus dem Auswahlkorb entfernt. /// /// Die zum Enthalten der verfügbaren Dateien verwendete FileOpenPickerUI-Instanz. /// Ereignisdaten, die die entfernte Datei beschreiben. void $safeitemname$::FilePickerUI_FileRemoved(FileOpenPickerUI^ sender, FileRemovedEventArgs^ e) { // TODO: Auf ein Element reagieren, dessen Auswahl in der Auswahl-UI aufgehoben wird. } /// /// Wird aufgerufen, wenn die ausgewählte Auflistung von Dateien geändert wird. /// /// Die zum Anzeigen der verfügbaren Dateien verwendete GridView-Instanz. /// Ereignisdaten, die beschreiben, wie die Auswahl geändert wurde. void $safeitemname$::FileGridView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e) { (void) sender; // Nicht verwendeter Parameter (void) e; // Nicht verwendeter Parameter // TODO: Die Windows-Benutzeroberfläche mit _fileOpenPickerUI->AddFile und _fileOpenPickerUI->RemoveFile aktualisieren } /// /// Wird aufgerufen, wenn auf die Schaltfläche "Nach oben" geklickt wird, um anzugeben, dass der Benutzer eine Ebene /// in der Dateienhierarchie nach oben wechseln möchte. /// /// Die zum Darstellen des Befehls "Aufwärts" verwendete Schaltflächeninstanz. /// Ereignisdaten, die beschreiben, wie auf die Schaltfläche geklickt wurde. void $safeitemname$::GoUpButton_Click(Object^ sender, RoutedEventArgs^ e) { (void) sender; // Nicht verwendeter Parameter (void) e; // Nicht verwendeter Parameter // TODO: DefaultViewModel->Insert("CanGoUp", true) verwenden, um den zugehörigen Befehl zu aktivieren, // Traversierung der Dateihierarchie mit DefaultViewModel->Insert("Dateien", ) wiedergeben }