我知道Silverlight 4通过AutomationFactory该类支持COM互操作.
dynamic excel = AutomationFactory.CreateObject( "Excel.Application" );
excel.Visible = true;
Run Code Online (Sandbox Code Playgroud)
但是这会为COM对象创建一个单独的窗口.我在这里缺少的是,如果我实际上能够在我的Silverlight应用程序中实际托管Office文档 - 例如在ContentPresenter中?
我需要使用C#更改幻灯片的布局(使用Add-In Express 2009 for Office和.NET).如果新布局是预定义的布局,那么一切都很好,但如果我需要将自定义布局设置为新布局(没有幻灯片重新创建)则不行.不幸的是,我没有找到任何关于如何做的信息,PowerPoint对象模型参考文档也没有回答我.只能创建使用自定义布局的新幻灯片.
我已经做了一个实验并确保Slide对象保持不变,而我一直在更改预定义和自定义布局.当我只需要切换布局时,我不想创建新的幻灯片.
有可能吗?请帮我找到一种方法.
我听说Windows Phone 7的用户界面(UI)完全基于Silverlight.任何人都可以证实吗?或者它是由其他框架实现的?
我正在尝试模拟Open XML 的Tint效果.它的作用是通过移动色调来改变图像中像素的色调.它需要2个参数:1)hue(以度为单位)和2)amt(数量,百分比).我遇到问题是#2.规范说明:
色调:根据指定的量将颜色值朝向或远离色调移动.
- amt(Amount) - 指定颜色值的移位量.
- hue(Hue) - 指定要着色的色调.
从不关注XML构造,我可以模拟具有amt100%的值.所以,例如,如果我想要蓝色(色调:240°),我可以创建它(有色的).这是一个例子:
原始和着色(色调= 240,金额= 100%).

这可以通过将色调设置为240,保持饱和度和亮度相同并转换为RGB并写入每个像素来实现.
这是我无法实现的:
色调= 240(蓝色),金额= 30% ,50%和80%,分别

再次,对于规范Amount说,通过颜色值多少转移指定.我已经试过各种方法在这里得到这个工作,但似乎无法(hue=hue*amount,originalhue * amount + hue,等)
更多实例:Hue = 120(绿色),数量= 30%,50%,80%和100%.在100%的一个,我可以得到.

以下是上图中单个像素的一些值列表:
Hue Amount R … 我一直试图在VS2010中使用C#打开Word文档.但到目前为止我一直很成功.我试过寻找答案但都徒劳无功.在参考部分中,我无法在COM选项卡中看到Microsoft Word office库(任何版本).我添加了Microsoft.Office.Interop.Word..Net选项卡中的版本14,但仍然得到相同的异常:
mscorlib.dll中发生未处理的"System.Runtime.InteropServices.COMException"类型异常
附加信息:由于以下错误,检索CLSID为{000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG)).
我试图以编程方式复制PowerPoint演示文稿中的幻灯片,并将其粘贴到原始文件后.
我的第一个想法是获取旧幻灯片的索引,并将副本添加到所需的新索引,但我似乎无法找到一种直接的方法来检索该索引.我希望有类似的东西Slides.IndexOf(Slide slide),但找不到那样的东西.我最后编写了非常老派的代码,这似乎有用,但我很好奇是否有更好的方法来做到这一点.
var slide = (PowerPoint.Slide)powerpoint.ActiveWindow.View.Slide;
var slideIndex = 0;
for (int index = 1; index <= presentation.Slides.Count; index++)
{
if (presentation.Slides[index] == slide)
{
slideIndex = index;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这是C#/ VSTO,但任何可以让我走上正确道路的输入都值得赞赏,无论是VBA还是VB!
当我悬停或点击Silverlight应用程序中的对象时,如何获得类似的弹出/悬停/工具提示(见下图)?
更新:(加奖金)
我正在寻找一个可以掉落阴影并显示箭头的控件.我想要3-4行数据作为控件的属性传入.
popup例子http://www.freeimagehosting.net/uploads/4a78a786fc.gif
我正在使用 OpenXML SDK 以编程方式用<w:sdt/>OpenXML (WordProcessingML) 标记块替换一些元素。
例如,我有一个包含以下内容的段落:
<w:p>
<w:run><w:text> Text before </w:text></w:run>
<w:sdt><w:sdtPr> ...</w:sdtPr><w:sdtContent>...</w:sdtContent></w:sdt>
<w:run><w:text> Text after </w:text></w:run>
</w:p>
Run Code Online (Sandbox Code Playgroud)
还有一个结构如下的表:
<w:tbl>
<w:tblPr>...</w:tblPr>
<w:tblGrid> ... gridCol elements ...</w:tblGrid>
<w:tr>
<w:trPr>...</w:trPr>
<w:tc>
<w:tcPr>...</w:tcPr>
<w:p> Cell contents </w:p>
</w:tc>
<w:tc>
<w:tcPr>...</w:tcPr>
<w:p> Cell contents </w:p>
</w:tc>
</w:tr>
</w:tbl>
Run Code Online (Sandbox Code Playgroud)
基本上我想<w:sdt/>用表格标记替换段落中的元素。问题是我不能只是替换它,因为它会创建一个无效的文档(另一个段落元素中包含段落的表格无效)。
我想要得到的结果是这样的:
<w:p>
<w:run><w:text> Text before </w:text></w:run>
</w:p>
<w:tbl>
<w:tblPr>...</w:tblPr>
<w:tblGrid> ... gridCol elements ...</w:tblGrid>
<w:tr>
<w:trPr>...</w:trPr>
<w:tc>
<w:tcPr>...</w:tcPr>
<w:p> Cell contents </w:p>
</w:tc>
<w:tc>
<w:tcPr>...</w:tcPr>
<w:p> Cell contents </w:p>
</w:tc> …Run Code Online (Sandbox Code Playgroud) 我有以下代码打开Excel模板文件并将其保存为.xlsx文件,当我尝试打开新文件时,我收到以下错误.请帮忙解决这个问题.
Excel无法打开文件'sa123.xlsx',因为文件格式或扩展名无效.验证文件是否已损坏,以及文件扩展名是否与文件格式匹配.
string templateName = "C:\\temp\\sa123.xltx";
byte[] docAsArray = File.ReadAllBytes(templateName);
using (MemoryStream stream = new MemoryStream())
{
stream.Write(docAsArray, 0, docAsArray.Length); // THIS performs doc copy
File.WriteAllBytes("C:\\temp\\sa123.xlsx", stream.ToArray());
}
Run Code Online (Sandbox Code Playgroud) c# ×4
silverlight ×3
excel ×2
openxml ×2
openxml-sdk ×2
powerpoint ×2
vba ×2
com-interop ×1
draw ×1
excel-vba ×1
gdi+ ×1
graph ×1
hsl ×1
image ×1
ms-word ×1
vsto ×1
wpf ×1