コード例 #1
0
 public static T ShowWithOptions <T>(string messageBoxText, System.Collections.IList dataSource, MessageWithOptionControlStyle controlsAs) where T : IMessageWithOption
 {
     return(ShowWithOptions <T>(null, messageBoxText, string.Empty, MessageStyle.Primary, dataSource, controlsAs, MessageWithOptionSelectionMode.Single));
 }
コード例 #2
0
        public static T ShowWithOptions <T>(System.Windows.Window owner, string messageBoxText, string caption, MessageStyle style, System.Collections.IList dataSource, MessageWithOptionControlStyle controlsAs, MessageWithOptionSelectionMode selectionMode) where T : IMessageWithOption
        {
            var vm   = new MessageWithOptionsViewModel();
            var view = new Views.MessageBoxOptionsView();

            view.DataContext = vm;

            vm.Caption        = caption;
            vm.MessageBoxText = messageBoxText;
            vm.MessageStyle   = style;
            vm.MessageButton  = MessageButton.OKCancel;

            if (selectionMode == MessageWithOptionSelectionMode.Single)
            {
                vm.MessageOptionsDataSource = dataSource;
            }
            else
            {
                vm.MessageOptionsDataSourceMultiple = dataSource;
            }

            vm.MessageWithOptionControlStyle  = controlsAs;
            vm.MessageWithOptionSelectionMode = selectionMode;
            vm.ApplyMessageStyle();

            view.ShowDialog();

            return(vm.MessageResult == MessageResult.OK ? (T)vm.MessageOptionSelected : default(T));
        }