我听说Microsoft允许使用商用Office UI控件,但竞争产品除外,如文字处理器或电子表格应用程序等.
那是真的吗?
此外,如果不是这样,你知道任何免费的 Ribbon控件吗?
我开始使用WPF Ribbon开发,非常好!
我的问题是找到(免费)基本图标(如文件保存/打开/等,剪切/粘贴/等).
你有什么建议吗?
我正在尝试使用XML在Outlook中创建功能区,并且无法找到具体说明如何告诉我的加载项我只希望功能区出现在Explorer窗口中.
建议吗?
谢谢.
我的Ribbon1.XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab idMso="TabAddIns">
<group id="MyGroup"
label="My Group">
<button idMso="Delete"/>
</group>
</tab>
<tab idMso="TabMail">
<group idMso="GroupMoveActions"
visible="false">
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Run Code Online (Sandbox Code Playgroud)
弹出的神奇错误框说:
testingOLaddin2中的CustomUI运行时错误
Error found in CustomUI XML of "testingOLaddin2"
Line: 3
Column: 10
Error Code 0x80004005
Failed to find Office control by ID
ID: TabMail
Run Code Online (Sandbox Code Playgroud)
每个请求,我的功能区生成代码:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using Office = Microsoft.Office.Core;
using System.Diagnostics;
namespace testingOLaddin2 …Run Code Online (Sandbox Code Playgroud) 对于使用C#4.0编程Office加载项,Microsoft提供了两种不同的创建和/或修改功能区接口的方式:您可以使用功能区设计器或在功能区XML中定义功能区的布局。
如果使用功能区设计器创建功能区,则后面代码中生成的类将对放置在功能区上的所有控件具有可见性。因此,如果放置了一个名为“ dropdown1”的RibbonDropDown,则可以使用以下代码向其中添加一个项目:
RibbonDropDownItem item = Factory.CreateRibbonDropDownItem();
item.Label = submatrix.Name;
item.Tag = submatrix;
this.dropDown1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
但是,如果使用Ribbon XML创建相同的Ribbon,则找不到dropDown1或Factory(“名称在当前上下文中不存在”)。
是否可以通过代码访问添加到功能区XML定义的功能区的项目?
我使用Ribbon for WPF(2010 - Microsoft.Windows.Controls.Ribbon).
当我双击选项卡(标题)时,如何禁用红色范围内的最小化或最大化效果

在学习使用我的Outlook插件(VS2010)中的功能区UI时,我删除并添加了多次功能区项目.从昨天开始,当我添加一个功能区项目时,一些自动生成的代码没有编译.
partial class ThisRibbonCollection
{
internal MyRibbon MyRibbon
{
get { return this.GetRibbon<MyRibbon>(); }
}
}
Run Code Online (Sandbox Code Playgroud)
抛出的错误是
'MyAddin.ThisRibbonCollection'不包含'GetRibbon'的定义,并且没有扩展方法'GetRibbon'接受类型'MyAddin.ThisRibbonCollection'的第一个参数可以找到(你是否缺少using指令或汇编引用?)
所以,为了摆脱这个,我注释掉了代码块并编译了它.现在,我面临的问题是我无法通过此处提到的Globals对象访问功能区.在运行时访问Ribbon.我尝试"grepping"整个解决方案的特定于功能区的代码并删除它们并尝试添加功能区项目,但问题仍然存在.
我可以从我的功能区上的控件访问我的插件,但反过来没有发生.
我试过引用System.Windows.Controls.Ribbon,工具箱标签没有显示出来.如果我右键单击选项卡并单击"全部显示",则选项卡就在那里,但控件不亮.我可以手动添加一个选项卡和控件,但是在添加功能区后,类似quickaccesstoolbar和menuitem不能正常工作 - 由于某些原因它们被视为制表符.控制组也不起作用.根本没有任何作用.
我试过直接编辑XAML.它以与使用设计器相同的方式失败.
在线教程要么已过时,要么是付费控制套件,要么根本不起作用.
我不想使用像http://www.codeproject.com/Articles/364272/Easily-Add-a-Ribbon-into-a-WinForms-ApplicationCs这样的标记解决方案,我想要一些有用的东西设计师 - 这太难问了吗?如果是这样,我很乐意回到winforms.
如果你使用色带,你是怎么做到的?这个问题看起来很简单,但经过几个小时的挖掘,我仍然没有答案.
我是一名个人开发人员,制作开源免费软件.作为一名学生,我真的买不起1000美元的控制套件.我使用VS2013社区,我尝试使用2015,但上面的所有问题都是一样的.
我使用fluentribbon和mahapps作为我的 GUI,并希望在我的功能区中有一个带有图标的按钮。我想用XAML的图标,如本(而不是一个文件)。所以我需要在 fluent:Button 中设置 Path。我尝试了以下但它不工作 - 按钮是空白的(没有文字和图标显示):
<fluent:Button Name="Test">
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Center">
<Path Width="40" Height="40" Stretch="Uniform" UseLayoutRounding="False" Fill="Black" Data="..."/>
<TextBlock><Run Text="Test Button"/></TextBlock>
</StackPanel>
</fluent:Button>
Run Code Online (Sandbox Code Playgroud)
这是完整的代码:
<Controls:MetroWindow x:Class="RibbonTestProj.View.RibbonTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:fluent="urn:fluent-ribbon"
Title="Ribbon Test" Height="474" Width="849" MinHeight="300" MinWidth="400" >
<Grid>
<fluent:Ribbon CanMinimize="False" CanQuickAccessLocationChanging="False" AutomaticStateManagement="false"
x:Name="ribbon">
<fluent:RibbonTabItem x:Name="test1TabItem"
Header="Test1"
KeyTip="I">
<fluent:RibbonGroupBox Header="Group1" Height="84" Width="248" TabIndex="0">
<fluent:Button Name="Test">
<StackPanel VerticalAlignment="Stretch"
HorizontalAlignment="Center">
<Path Width="40"
Height="40"
Stretch="Uniform"
Fill="Black"
Data="M 10,100 C 10,300 300,-200 300,100" />
<TextBlock><Run Text="Test Button" …Run Code Online (Sandbox Code Playgroud) 我想在最后一个选项卡之后插入一个新选项卡。但问题是我不知道当前的最后一个标签是什么;它可能是“Acrobat 阅读器”或其他东西。如何实现这一点。我有以下代码:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="MyCustomTab" label="MyTab" insertAfterMso="TabView">
<group id="customGroup1" label="First Tab">
<button id="customButton1" label="JG Button 1" imageMso="HappyFace" size="large" onAction="Callback1" />
<button id="customButton2" label="JG Button 2" imageMso="PictureBrightnessGallery" size="large" onAction="Callback2" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Run Code Online (Sandbox Code Playgroud) 我一直在寻找解决方案很多次,最接近的解决方案是 Ron de Bruin示例,但它没有涵盖我需要的内容。
我想做的基本上是两件事
示例:我有 4 个按钮。
Group1 和 tab1 上的 Button1
Group1 和 tab1 上的 Button2
Group2 和 tab2 上的 Button3
Group2 和 tab2 上的 Button4
单击功能区控件“Button1”时,它将运行一些代码并在最后禁用“Button1”。
单击功能区控件“Button2”时,它将运行一些代码并检查“Button3”和“button4”并设置相反的属性。
如果 button3 为真,则变为假。
如果 button4 为假,则变为真。
你能提供一些指导来解决这个问题吗