新类型上 ContainerPart 的设置
Settings on ContainerPart on new type
我正在尝试在迁移中创建一个新的内容类型,该迁移具有附加了已应用某些设置的 ContainerPart。
ContentDefinitionManager.AlterTypeDefinition("NewType",
cfg => cfg
.DisplayedAs("New Type")
.WithPart(typeof(TitlePart).Name)
.WithPart(typeof(ContainerPart).Name)
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
.WithPart(typeof(CommonPart).Name)
.WithPart(typeof(IdentityPart).Name)
.Creatable()
.Listable()
);
迁移后的 ItemsShownDefault 保持其默认值 True。
我尝试了几种不同的变体:
将 "ContainerPartSettings" 重命名为其他版本,如 ContainerSettings、ContainerTypePartSettings
不使用typeof()函数,直接用字符串指定部分
据我所知,与 AutorouteSettings 等其他方法相比,ContainerSettings 使用不同的方法来存储其值。
查看您的代码,您将设置链接到 type 而不是 part:
.WithPart(typeof(ContainerPart).Name) // close the WithPart function
// which means the following line is chained to the type
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
要解决这个问题,请这样做:
.WithPart(typeof(ContainerPart).Name, part => part
// inside the ContainerPart context
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
) // Close ContainerPart context
.WithPart(..)
如果您确实打算在类型而不是零件上设置设置,请使用定义为 here:
的 ContainerTypePartSettings
class
.WithPart(typeof(ContainerPart).Name)
// Set settings on the type instead of the part
.WithSetting("ContainerTypePartSettings.ItemsShownDefault", false)
我正在尝试在迁移中创建一个新的内容类型,该迁移具有附加了已应用某些设置的 ContainerPart。
ContentDefinitionManager.AlterTypeDefinition("NewType",
cfg => cfg
.DisplayedAs("New Type")
.WithPart(typeof(TitlePart).Name)
.WithPart(typeof(ContainerPart).Name)
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
.WithPart(typeof(CommonPart).Name)
.WithPart(typeof(IdentityPart).Name)
.Creatable()
.Listable()
);
迁移后的 ItemsShownDefault 保持其默认值 True。
我尝试了几种不同的变体:
将 "ContainerPartSettings" 重命名为其他版本,如 ContainerSettings、ContainerTypePartSettings
不使用typeof()函数,直接用字符串指定部分
据我所知,与 AutorouteSettings 等其他方法相比,ContainerSettings 使用不同的方法来存储其值。
查看您的代码,您将设置链接到 type 而不是 part:
.WithPart(typeof(ContainerPart).Name) // close the WithPart function
// which means the following line is chained to the type
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
要解决这个问题,请这样做:
.WithPart(typeof(ContainerPart).Name, part => part
// inside the ContainerPart context
.WithSetting("ContainerPartSettings.ItemsShownDefault", "False")
) // Close ContainerPart context
.WithPart(..)
如果您确实打算在类型而不是零件上设置设置,请使用定义为 here:
的ContainerTypePartSettings
class
.WithPart(typeof(ContainerPart).Name)
// Set settings on the type instead of the part
.WithSetting("ContainerTypePartSettings.ItemsShownDefault", false)