修改文字大小
在开发中,遇到这样一个问题,需要用某一文字样式创建文字,同时,还需要修改生成文字的大小,又不影响原来的文字样式。下面记录已知的两种方法。
详细介绍
- 采用 COM 里面的API,用代码在原来样式的基础上生成新的样式,具体代码如下
1 | Bentley.Internal.MstnPlatformNET.TextStyleLibCollection textStyles = new Bentley.Internal.MstnPlatformNET.TextStyleLibCollection(StyleIteratorMode.ActiveFileAndLibraries); |
- 直接修改文字样式,具体代码如下
1
2
3
4
5
6
7
8
9Bentley.Internal.MstnPlatformNET.TextStyleLibCollection textStyles = new Bentley.Internal.MstnPlatformNET.TextStyleLibCollection(StyleIteratorMode.ActiveFileAndLibraries);
DgnTextStyle targetStyle = textStyles.Where(item => item.Name == "textStyleName").FirstOrDefault();
targetStyle.SetProperty(TextStyleProperty.Width, 0.0020 * uor);
targetStyle.SetProperty(TextStyleProperty.Height, 0.0025 * uor);
// 使用
TextBlock textBlock = new TextBlock(dgnTextStyle, DgnModel);
...
上面这种用法也是不会修改原来文字样式。