// This file is part of the Noddybox.WindowsPhone C# suite. // // Noddybox.Emulation is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Noddybox.Emulation is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Noddybox.Emulation. If not, see . // // Copyright (c) 2012 Ian Cowburn // using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Noddybox.WindowsPhone.Silverlight.ViewModels; using System.ComponentModel; namespace Noddybox.WindowsPhone.Silverlight { /// /// Provides the save dialog user control. /// public partial class SaveDialog : UserControl { #region Private data private FileDialogViewModel model; #endregion #region Constructors /// /// Construct a save dialog. /// public SaveDialog() { InitializeComponent(); if (!DesignerProperties.IsInDesignTool) { model = new FileDialogViewModel("/"); DataContext = model; } } #endregion #region Properties public static readonly DependencyProperty StartPathProperty = DependencyProperty.Register("StartPath", typeof(string), typeof(SaveDialog), null); // new PropertyMetadata("StartPath", new PropertyChangedCallback(SaveDialog.OnStartPathChanged))); public static readonly DependencyProperty OkButtonTextProperty = DependencyProperty.Register("OkButtonText", typeof(string), typeof(SaveDialog), null); // new PropertyMetadata("StartPath", new PropertyChangedCallback(SaveDialog.OnStartPathChanged))); private static void OnStartPathChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { } /// /// Set the start path /// public string StartPath { set { if (!DesignerProperties.IsInDesignTool) { model.Path = value; } } } /// /// Set the contents of the OK button. /// public string OkButtonText { set { } } /// /// Set the contents of the Cancel button. /// public string CancelButtonText { set {cancelButton.Content = value;} } #endregion #region Event handlers private void OnFilenameKeyUp(object sender, KeyEventArgs e) { model.Filename = fileName.Text; } private void OnOKButton(object sender, RoutedEventArgs e) { } private void OnCancelButton(object sender, RoutedEventArgs e) { } private void OnFileListSelection(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { model.FileSelected((FileInfo)e.AddedItems[0]); } } #endregion } }