小编Joh*_*rth的帖子

使用ReSharper将方法提取到已存在的接口

我正在为实现接口的类添加一个新方法,我喜欢使用"Extract Interface"重构,只需将该方法添加到接口即可.但似乎ReSharper似乎不支持向现有接口添加方法签名.

感觉我错过了一些东西,我确信它可以以某种方式完成.也许我应该首先将方法签名添加到接口,但这是我有时工作的方式.我错过了一些快捷方式,功能还是使用ReSharper错了?

c# resharper refactoring

95
推荐指数
1
解决办法
9665
查看次数

实体框架上下文应该使用语句吗?

Entity Framework上下文对象实现Dispose()方法,该方法"释放对象上下文使用的资源".它真的有什么作用?总是将它放入using {}语句会不会是一件坏事?我已经看到它使用和不使用using语句.

我特意要在WCF服务方法中使用EF上下文,创建上下文,做一些linq并返回答案.

编辑:似乎我不是唯一一个对此感到疑惑的人.另一个问题是Dispose()方法中真正发生了什么.有人说它关闭了连接,有些文章没有说.这是怎么回事?

c# entity-framework

64
推荐指数
2
解决办法
3万
查看次数

以编程方式在WPF RichTextBox(FlowDocument)中选择文本范围

我有这个WPF RichTextBox,我想以编程方式选择给定范围的字母/单词并突出显示它.我试过这个,但它不起作用,可能是因为我没有考虑一些隐藏的FlowDocument标签或类似的东西.例如,我想选择字母3-8但选择2-6):

var start = MyRichTextBox.Document.ContentStart;
var startPos = start.GetPositionAtOffset(3);
var endPos = start.GetPositionAtOffset(8);
var textRange = new TextRange(startPos,endPos);
textRange.ApplyPropertyValue(TextElement.ForegroundProperty,
    new SolidColorBrush(Colors.Blue));
textRange.ApplyPropertyValue(TextElement.FontWeightProperty, 
    FontWeights.Bold);
Run Code Online (Sandbox Code Playgroud)

我已经意识到RichTextBox处理比我想象的要复杂一点:)

更新:我在MSDN论坛上得到了一些答案:这个帖子 "dekurver"seid:

您指定的偏移量不是字符偏移量,而是符号偏移量.你需要做的是获得一个你知道与文本相邻的TextPointer,然后你可以添加字符偏移量.

而"LesterLobo"说:

你将需要遍历段落和内联以找到Next,然后在循环中找到它们的偏移量以应用特定文本的所有外观.请注意,当您编辑文本时会移动,但您的高亮显示不会移动,因为它与偏移而不是文本相关联.但是,您可以创建自定义运行并为其提供突出显示...

如果有人知道他们在FlowDocuments周围的方式,仍然会喜欢看到一些示例代码...

编辑我有一个版本的Kratz VB代码工作,它看起来像这样:

private static TextPointer GetPoint(TextPointer start, int x)
{
    var ret = start;
    var i = 0;
    while (i < x && ret != null)
    {
        if (ret.GetPointerContext(LogicalDirection.Backward) == 
TextPointerContext.Text ||
            ret.GetPointerContext(LogicalDirection.Backward) == 
TextPointerContext.None)
            i++;
        if (ret.GetPositionAtOffset(1, 
LogicalDirection.Forward) == null)
            return ret;
        ret = ret.GetPositionAtOffset(1, 
LogicalDirection.Forward); …
Run Code Online (Sandbox Code Playgroud)

c# wpf richtextbox

17
推荐指数
3
解决办法
3万
查看次数

使用Orchard模块页面中的jQuery

我正在尝试使用搜索表单和按钮修改Orchard.Search部分,以便按照我的意愿查看和操作.为此,我需要使用一些jQuery功能.

我将其添加到Search.SearchForm.cshtml文件的标题中:

Script.Require("jQuery");
Run Code Online (Sandbox Code Playgroud)

我可以从页面的输出中看到添加了jquery,位于html的底部,就在结束标记之前:

<script src="/Orchard.Web/Modules/Orchard.jQuery/scripts/jquery-1.4.2.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

看起来很好.这就是jQuery库的地方,我可以从没有probs的那个位置下载它.我还在页面中添加了一个小的测试脚本,以查看jQuery是否正常工作:

<script language="javascript" type ="text/javascript">

$(document).ready(function () { 
  alert('page loaded');
});

</script>
Run Code Online (Sandbox Code Playgroud)

但它永远不会被解雇,我得到这个脚本错误:未捕获的ReferenceError:$未定义

我已经厌倦了这个,太麻烦了,但我想我做错了......

编辑:添加了jquery标记并尝试了关于Script.Foot()的建议答案,这似乎有效:

@using(Script.Foot()) {
    <script type ="text/javascript">
    //<![CDATA[
        $(document).ready(function () {
            alert('page loaded');
        });
    //]]>
    </script>
}
Run Code Online (Sandbox Code Playgroud)

jquery orchardcms

12
推荐指数
1
解决办法
8572
查看次数

如何根据XAML中的窗口或屏幕大小设置网格列MaxWidth

我在一个窗口中有一个3列网格,第一列上有一个GridSplitter.我想将第一列的MaxWidth设置为父窗口或页面Width(或ActualWidth)的三分之一,如果可能,我更愿意在XAML中执行此操作.

这是在XamlPad(或类似)中使用的一些示例XAML,它显示了我正在做的事情.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition x:Name="Column1" Width="200"/>
            <ColumnDefinition x:Name="Column2" MinWidth="50" />
            <ColumnDefinition x:Name="Column3" Width="{ Binding ElementName=Column1, Path=Width }"/>
            </Grid.ColumnDefinitions>

        <Label Grid.Column="0" Background="Green" />
        <GridSplitter Grid.Column="0" Width="5" />
        <Label Grid.Column="1" Background="Yellow" />
        <Label Grid.Column="2" Background="Red" />
    </Grid>
</Page>
Run Code Online (Sandbox Code Playgroud)

如您所见,右列宽度与第一列的宽度绑定,因此当您使用拆分器滑动左列时,右列会执行相同的操作:)如果您将左列向右滑动,最终它会将滑过页面/窗口的一半,然后滑到窗口的右侧,推开第2列和第3列.

我想通过将第1列的MaxWidth设置为窗口宽度的三分之一(或类似的东西)来防止这种情况.我可以很容易地在代码中执行此操作,但如何在"仅限XAML"中执行此操作?

编辑: David Schmitt建议使用SharedSizeGroup而不是绑定,这是一个很好的建议.我的示例代码如下所示:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
        <Grid IsSharedSizeScope="True">
            <Grid.ColumnDefinitions>
                <ColumnDefinition x:Name="Column1" SharedSizeGroup="ColWidth" Width="40"/>
                <ColumnDefinition x:Name="Column2" MinWidth="50" Width="*" />
                <ColumnDefinition x:Name="Column3" SharedSizeGroup="ColWidth"/>
            </Grid.ColumnDefinitions>
            <Label Grid.Column="0" Background="Green" />
            <GridSplitter Grid.Column="0" Width="5" /> …
Run Code Online (Sandbox Code Playgroud)

wpf xaml width actualwidth

7
推荐指数
1
解决办法
3万
查看次数

在REST服务中返回true/false?

我正在设计REST服务,需要检查是否正确输入了地址.我在想的是如何设计REST接口来检查完整的街道地址是否有效.

我有这个/地址服务,例如我可以做一个POST /address/validation返回xml/json true或false的东西,但对我来说这似乎是非常不合适的.

另一种方法是做一个GET /address?street=xxx&nr=xxx&zipcode=xxx(和一些更多的参数)并返回200 OK,如果正确或404 Not not found,如果不正确,这可能更RESTful?

我开始做选项1)但是我想的越多,选项2)GET感觉更好......

想法?

rest

7
推荐指数
2
解决办法
1万
查看次数

使用自定义URL /协议启动MonoTouch iPhone应用程序?

是否可以使用MonoTouch注册自定义Url方案或协议,如myapp:123?我希望当用户在网页,邮件或日历描述中单击此链接时启动我的MonoTouch应用程序,并选择upp url"parameters",在本例中为"123".

简而言之,我想要与iPhone中的Spotify应用程序相同的功能及其spotify:track:123123可以做到吗?

iphone xamarin.ios

7
推荐指数
2
解决办法
1878
查看次数

WPF或Silverlight中的屏幕闪烁效果

我正在寻找一种方法来为我正在研究的全屏WPF应用程序创建一个"看起来很酷"的效果 - 一种"屏幕闪烁"效果,可以在整个屏幕上激活或移动,从而发出闪亮的显示体验.我正在考虑创建一个带有突出显示渐变和透明背景的大矩形,可以在屏幕上进行动画制作.有任何想法如何在XAML中有效地完成这项工作?

silverlight wpf xaml

5
推荐指数
1
解决办法
3448
查看次数

EF代码首先插入许多行

我首先使用EF代码,我需要在一个表中插入许多行,几千条记录,我在一个通用列表中.只是做一个foreach循环并将每个实体添加到表中并使用SaveChanges()完成需要相当长的时间.

有没有一种笨重的方式首先使用EF或代码执行此操作,还是应该执行SqlCommand或SqlBulkCopy?另外,我是否可以先在EF代码中关闭以使插入更快?

谢谢您的帮助!

.net entity-framework code-first

5
推荐指数
1
解决办法
565
查看次数

以编程方式滑动到下一个Panorama项目

是否可以以编程方式从一个全景页面/项目移动到下一个并获得与手指滑动时相同的动画滑动效果

我可以使用PanoramaControl.DefaultItem属性移动到预期的项目/页面,但您不会获得动画滑动效果.这里有什么想法?

windows-phone-7

5
推荐指数
3
解决办法
8450
查看次数