Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/DrawSheet/SystemDisplayViewModel.cs

76 lines
2.3 KiB
C#
Raw Normal View History

2024-09-22 11:05:41 +08:00
using Autodesk.Revit.DB;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
2025-04-24 20:56:44 +08:00
using ShrlAlgoToolkit.RevitAddins.RvMEP;
2026-02-22 20:03:42 +08:00
using ShrlAlgoToolkit.RevitAddins.Common.Controls;
2024-09-22 11:05:41 +08:00
2025-04-24 20:56:44 +08:00
namespace ShrlAlgoToolkit.RevitAddins.RvView;
2024-09-22 11:05:41 +08:00
public partial class SystemDisplayViewModel : ObservableRecipient/*, IRecipient<Color>*/
2024-09-22 11:05:41 +08:00
{
//private SystemModel currentModel;
2024-09-22 11:05:41 +08:00
[ObservableProperty]
public partial List<SystemModel> SystemsCollection { get; set; }
2024-09-22 11:05:41 +08:00
public SystemDisplayViewModel(UIApplication uiapp)
2024-09-22 11:05:41 +08:00
{
var doc = uiapp.ActiveUIDocument.Document;
var enumerable = doc.OfClass<MEPSystemType>().Cast<MEPSystemType>();
var systemModels = from mepSystemType in enumerable let model = new SystemModel(mepSystemType) select model;
SystemsCollection = [.. systemModels];
//IsActive = true;
2024-09-22 11:05:41 +08:00
//订阅
//WeakReferenceMessenger.Default.RegisterAll(this);
//WeakReferenceMessenger.Default.Register<SelectedColor>(this);
//WeakReferenceMessenger.Default.Register<SelectedColor>(this, (r, m) =>
//{
// TaskDialog.Show("消息", "收到消息");
//});
//Messenger.Register<SystemDisplayViewModel, ColorPickerViewModel>(this, (r, m) =>
//{
//});
}
//public void Receive(Color message)
//{
// //TaskDialog.Show("消息", "收到颜色消息");
// if (message != null)
// {
// currentModel.FillColor = message;
// currentModel.BackgroundColor = new System.Windows.Media.SolidColorBrush(
// System.Windows.Media.Color.FromRgb(message.Red, message.Green, message.Blue)
// );
// }
//}
2024-09-22 11:05:41 +08:00
//[RelayCommand]
//private void OpenColorPicker(object obj)
//{
// if (obj is SystemModel model)
// {
// currentModel = model;
// var viewModel = model.FillColor.IsValid
// ? new ColorPickerViewModel(
// System.Windows.Media.Color.FromRgb(model.FillColor.Red, model.FillColor.Green, model.FillColor.Blue)
// )
// : new ColorPickerViewModel(System.Windows.Media.Color.FromRgb(0, 0, 0));
// var win = new ColorPickerWin(viewModel);
// win.ShowDialog();
// //WeakReferenceMessenger.Default.Register<SelectedColor>(this, (r, m) =>
// //{
// // color = m;
// //});
// }
//}
[RelayCommand]
private void Save()
{
2024-09-22 11:05:41 +08:00
}
2024-09-22 11:05:41 +08:00
}