namespace UIShare.UIViewModel
{
    /// <summary>
    /// 弹窗 Tab 信息载体（事件负载，轻量 POCO）。
    /// 其他模块发布 <c>AddDialogTabEvent</c> 时填充此对象，
    /// DialogMangerViewModel 接收后创建对应的 Tab 项。
    /// </summary>
    public class DialogTabInfo
    {
        /// <summary>Tab 标题（显示在标签页上）。</summary>
        public string Title { get; set; } = string.Empty;

        /// <summary>
        /// 设备硬件指纹（如 "Tcp:192.168.1.100:502"），用于去重判断，
        /// 防止同一物理设备被重复打开多个 Tab。
        /// </summary>
        public string Fingerprint { get; set; } = string.Empty;

        /// <summary>
        /// Tab 内容：传入一个已实例化的 <see cref="System.Windows.FrameworkElement"/>（通常是 UserControl），
        /// 由 ContentControl 直接承载展示。
        /// </summary>
        public object? Content { get; set; }
    }
}
