選取裝置時 (SelectionChanged 事件) 即時更新 Shape 下拉屬性:
if (VisWindow.Selection.Count > 0) {
Shape sel = VisWindow.Selection[1]; // 取第一個選取項
DropdownBLL.UpdateDropdownListValue(sel);
}
public void UpdateDropdownListValue(Shape target) {
List props = PropertyVol.GetPropertyCollection(target);
foreach (var prop in props) {
if (prop.PropType == PropType.visPropTypeListVar) {
string val = DropdownDAL.GetDrpFieldValue(prop.DeviceName, prop.Name);
if (!string.IsNullOrEmpty(val))
target.get_CellsU($"Prop.{prop.Name}.Format").FormulaU = VisioUtility.StringToFormulaForString(val);
}
}
}
visPropTypeListVar)CellsU(...).FormulaU 寫入公式,格式化為 Visio 可識別的清單語法