我正在寻找一个免费的,语法高亮,可能自动完成 "程序员的文本框"样式控件,用于Visual Studio Windows窗体或WPF项目.它应该与C#和自定义语言一起使用,许可证应允许在封闭的内部开发工具中使用.
有付费解决方案可用 - 像http://www.syncfusion.com/products/user-interface-edition/windows-forms/Edit这样的工作正常 - 但我正在寻找更简单的东西,并且不愿意支付不必要的功能.有任何想法吗?
我们工作的一个主要部分是创建和操作某些XML文件,其中有一个自定义编辑器.编辑开始变得吱吱作响,我们正在寻找建立替代品.由于VS2010最近已经到来,表面上是一个改进的插件架构(MEF?),我感兴趣的是可以在Visual Studio中将编辑器构建为自定义编辑器.
它必须以与代码编辑器或Designer相同的方式出现 - 一个标签项,其中可以有多个一次打开,包含我们用来编辑文件的GUI.它将与VS的编辑菜单集成.它可以使用输出窗口来显示消息.它看起来与Visual Studio中的任何其他编辑器相同.
现在,我正在寻找以类似方式工作的加载项示例 - 理想情况下使用源代码 - 以查看此模型是否符合我们的要求.我也在寻找与创建VS2010加载项相关的任何文档或教程,或者有关VS2008加载项的信息,如果这仍然相关的话.
欢迎任何输入.谢谢!
我有一个对象的集合存储在一个CollectionViewSource
并绑定到一个DataGrid
.我想显示当前所选对象的"详细视图"DataGrid
.我可以使用获取当前对象CollectionViewSource.View.CurrentItem
.
MyClass
{
[IsImportant]
AProperty{}
AnotherProperty{}
[IsImportant]
YetAnotherProperty{}
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是在列表框中为每个标有该IsImportant
属性的属性显示一个标签(带有属性名称)和一个控件(用于编辑).绑定必须在所做的编辑,DataGrid和后备对象之间起作用.显示的控件应根据属性的类型而变化,该类型可以是boolean
,string
或者IEnumerable<string>
(我已编写了一个IValueConverter
用于在可枚举和换行符分隔的字符串之间进行转换).
有谁知道实现这个的方法?我现在可以通过以下方式显示每个属性的值,但编辑它们不会更新后备对象:
listBox.ItemsSource = from p in typeof(MyClass).GetProperties()
where p.IsDefined(typeof(IsImportant), false)
select p.GetValue(_collectionViewSource.View.CurrentItem, null);
Run Code Online (Sandbox Code Playgroud)
为了澄清,我希望这可以"自动"发生,而无需在XAML中手动指定属性名称.如果我可以在运行时基于哪些属性标记属性动态添加到XAML,那也没关系.
我必须在循环的上下文中仅从XML文档中选择唯一记录<xsl:for-each>
.我被Visual Studio限制为使用XSL 1.0.
<availList>
<item>
<schDate>2010-06-24</schDate>
<schFrmTime>10:00:00</schFrmTime>
<schToTime>13:00:00</schToTime>
<variousOtherElements></variousOtherElements>
</item>
<item>
<schDate>2010-06-24</schDate>
<schFrmTime>10:00:00</schFrmTime>
<schToTime>13:00:00</schToTime>
<variousOtherElements></variousOtherElements>
</item>
<item>
<schDate>2010-06-25</schDate>
<schFrmTime>10:00:00</schFrmTime>
<schToTime>12:00:00</schToTime>
<variousOtherElements></variousOtherElements>
</item>
<item>
<schDate>2010-06-26</schDate>
<schFrmTime>13:00:00</schFrmTime>
<schToTime>14:00:00</schToTime>
<variousOtherElements></variousOtherElements>
</item>
<item>
<schDate>2010-06-26</schDate>
<schFrmTime>10:00:00</schFrmTime>
<schToTime>12:00:00</schToTime>
<variousOtherElements></variousOtherElements>
</item>
</availList>
Run Code Online (Sandbox Code Playgroud)
唯一性必须建立在三个子元素的值schDate
,schFrmTime
和schToTime
.如果两个item
元素对于所有三个子元素具有相同的值,则它们是重复的.在上面的XML中,第一项和第二项是重复的.其余的都是独特的.如上所述,每个项目包含我们不希望包括在比较中的其他元素."独特性"应该是这三个要素的一个因素,而仅仅是那些要素.
我试图通过以下方式实现这一目标:
availList/item[not(schDate = preceding:: schDate and schFrmTime = preceding:: schFrmTime and schToTime = preceding:: schToTime)]
Run Code Online (Sandbox Code Playgroud)
这背后的想法是选择没有前面元素的记录schDate
,schFrmTime
并且schToTime
.但是,它的输出缺少最后一项.这是因为我的XPath实际上排除了所有子元素值在整个前一个文档中匹配的项目.没有单个item …
我刚刚开始使用Ruby和Rails,尝试使用Rails 3进行设计.我在一个帖子列表中有一个循环,每个帖子都有一个关联的用户.我只想显示与当前用户关联的帖子的编辑控件.
<% @posts.each do |post| %>
<%= link_to "show" %>
<% if current_user = post.user %>
<%= link_to "edit" %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
(以上是简化的,从内存中,所以我确信语法不完全正确 - 但你得到了要点.)
如果没有用户登录,则帖子按预期显示 - 有Show
链接,但没有Edit
链接.但是,如果我完全登录,则会Edit
显示所有链接,甚至是由不同用户创建的fir帖子.
我已在控制台中验证过User.find(1) != User.find(2)
,但由于某种原因,current_user = post.user
无论当前登录谁,评估结果都是真的.这与current_user是一个助手而不是"真正的" user
对象有关吗?我如何使用current_user
ACTUAL当前用户进行比较?
谢谢,
担
我正在使用UITableView来显示一系列计算的结果.当用户点击"计算"时,我将最新结果添加到屏幕上.当我添加一个新单元格时,该UITableViewCell
对象被添加到一个数组(由索引编制tableView:cellForRowAtIndexPath:
),然后我使用以下代码将这个新行添加到屏幕上显示的内容:
[thisView beginUpdates];
[thisView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation: UITableViewRowAnimationFade];
[thisView endUpdates];
Run Code Online (Sandbox Code Playgroud)
这导致显示新单元格.但是,我想立即向下滚动屏幕,以便新单元格是屏幕上最下面的单元格.我使用以下代码:
[thisView scrollToRowAtIndexPath:newIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
Run Code Online (Sandbox Code Playgroud)
这几乎很有效.但是,第一次添加和滚动单元格时,它只会在消失前短暂显示在屏幕上.视图向下滚动到正确的位置,但单元格不在那里.手动滚动视图直到这个不可见的新单元格的位置在屏幕外,然后再返回,导致单元格出现 - 之后它表现正常.这仅在第一次添加单元格时发生; 后续细胞没有这个问题.这也恰好的考虑组合scrollToRowAtIndexPath
和insertRowsAtIndexPath
动画设置.
编辑: 我现在开始在桌子的倒数第二个位置插入单元格,而不是结束,问题仍然存在 - 当第一次插入时,一个单元格是"不可见的",直到它离开屏幕并重新开启再次.可能导致这种情况的原因,如何在将单元格添加到表格后立即强制绘制单元格?
好的,所以我经历过像"background-clip:padding-box"这样的答案.虽然它使最终产品看起来好一点,但它仍然不能完全解决边界外背景颜色渗出的问题.有没有人真正解决这个问题?
这是该问题的屏幕截图:
用于按钮的CSS
#footer #pager li a {
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
display: block;
float: left;
color: #444 !important;
text-decoration: none !important;
background-clip: padding-box !important;
padding: 8px 12px;
background-color: #ccc;
border: 1px solid #000;
}
Run Code Online (Sandbox Code Playgroud) c# ×3
add-in ×1
ajax ×1
binding ×1
cocoa-touch ×1
code-editor ×1
css ×1
css3 ×1
data-binding ×1
devise ×1
editor ×1
ios ×1
iphone ×1
javascript ×1
jquery ×1
objective-c ×1
ruby ×1
transform ×1
uitableview ×1
winforms ×1
wpf ×1
xml ×1
xpath ×1
xslt ×1