小编Ric*_*zak的帖子

计算点击点的角度

我正在制作WPF控件(旋钮).我试图找出数学来计算角度(0到360)基于圆圈内的鼠标点击位置.

例如,如果我点击X,Y在图像上的位置,我会得到一个点X,Y.我也有中心点,无法弄清楚如何获得角度.

圆圈图像

我的代码如下:

internal double GetAngleFromPoint(Point point, Point centerPoint)
{
    double dy = (point.Y - centerPoint.Y);
    double dx = (point.X - centerPoint.X);

    double theta = Math.Atan2(dy,dx);

    double angle = (theta * 180) / Math.PI;

    return angle;
}
Run Code Online (Sandbox Code Playgroud)

c# math wpf

10
推荐指数
1
解决办法
3428
查看次数

由于xml文档错误,构建失败

我正在尝试构建一个使用Lucene.Net的ASP.NET MVC 2项目.我在TFS 2010中制作了一个标准的构建定义.当我对新构建进行排队时,它会因此错误而失败:

CSC:生成XML文档文件'xxx\xxx\Lucene.Net.xml'时出错('访问被拒绝.')

但在我的Lucene项目属性中,我没有检查xml注释.如何才能正确构建?我不关心xml文档文件!

tfsbuild tfs2010

8
推荐指数
2
解决办法
5640
查看次数

发布文件后运行命令

我试图在发布后运行命令.

<Target Name="AfterPublish" AfterTargets="MSDeployPublish">
  <Exec Command="echo @@@@@ AfterPublish @@@@@ " />
</Target>
Run Code Online (Sandbox Code Playgroud)

但是如下所示,它在调用此目标后复制已发布的输出.

------ Publish started: Project: ClickOnceTest, Configuration: Debug Any CPU ------
2>  @@@@@ AfterPublish @@@@@ 
Connecting to 'C:\temp\Debug\'...
Publishing files...
Publish success.
Run Code Online (Sandbox Code Playgroud)

在"发布文件"步骤完成后如何实现?

msbuild clickonce publish visual-studio-2012

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

WebBrowserTask失败

以下代码有时会起作用,而且大部分时间都不起作用:

WebBrowserTask wbt = new WebBrowserTask();
        wbt.URL = url;
        wbt.Show();
Run Code Online (Sandbox Code Playgroud)

在仿真器和真实设备(HTC HD7)上.它将调出Web浏览器(IE),但它不会放入URL或导航到它.

是什么赋予了?

browser task windows-phone-7 windows-phone

6
推荐指数
2
解决办法
1199
查看次数

Linq to objects列表中的列表

我有一份电影清单

List<Movie> MovieList
Run Code Online (Sandbox Code Playgroud)

我有一个选定类别的列表

List<string> SelCat
Run Code Online (Sandbox Code Playgroud)

并说我想从电影列表中选择它匹配2个类别,如下面的SQL语句:

SELECT * FROM MovieList WHERE MovieList.Category = 'Action' AND MovieList.Category = 'Drama'

我可以像linq那样接近linq:

var q = (from b in MovieList where b.Categories.Any(p=> SelCat.Contains(p)) select b);

但它的作用类似于OR查询,而不是AND.我想让它选择所有具有动作和戏剧类别的电影.

BTW:Movie.Categories是一个字符串列表.AND Movie.Categories必须包含SelCat中的项目.

如何使用Linq to Objects实现这一目标?

c# linq linq-to-objects

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

我如何在XAML中执行此操作?

我想在XAML中用触发器执行此操作,我该怎么做?

    If ListBox1.SelectedIndex > -1 Then
        Border1.Visibility = Windows.Visibility.Visible
    Else
        Border1.Visibility = Windows.Visibility.Hidden
    End If
Run Code Online (Sandbox Code Playgroud)

此XAML代码不起作用.SelectedIndex成员无效,因为它没有合格的类型名称.

            <ListBox.Triggers>
                <Trigger SourceName="ListBox1" Property="SelectedIndex" Value="False">
                    <Setter TargetName="Border1" Property="Visibilty" Value="Hidden" />
                </Trigger>
            </ListBox.Triggers>
Run Code Online (Sandbox Code Playgroud)

wpf xaml wpf-controls

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

Foreach循环和带锁定的变量

基本上我想要做的就是这个伪代码

List<DatabaseRecord> records;

List<ChangedItem> changedItems;

Parallel.ForEach<DatabaseRecord>(records, (item, loopState) =>
{
    if (item.HasChanged)
    {
        lock (changedItems)
        {
            changedItems.Add(new ChangedItem(item));
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

但我担心的是锁定changedItems.虽然它有效,但我听说它必须一遍又一遍地序列化锁定的对象.有没有更好的方法呢?

c# task-parallel-library

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

MVC 2和EF4自跟踪实体模型在回发时具有不良状态

我的控制器上有标准的Create()Edit()和Delete()方法,我正在使用EF4自跟踪实体.

当回发编辑时,model.ChangeTracker.ChangeTracking = false,以及model.ChangeTracker.State = ObjectState.Added,即使我确保在最初检索记录时设置了这些.

提交表单时,自我跟踪实体是否未持久保存ChangeTracker类?如果是这样,我该如何解决?

public virtual ActionResult Edit(int personId)
{
    IContext context = ContextFactory.GetContext();
    EntityRepo Repo = new EntityRepo(context);
    Person d = Repo.Person.GetById(PersonId);
    d.ChangeTracker.ChangeTrackingEnabled = true;
    return View(d);
}

[HttpPost]
public virtual ActionResult Edit(int personId, Person item)
{
    try
    {
        if (ModelState.IsValid)
        {
            IContext context = ContextFactory.GetContext();
            EntityRepo Repo = new EntityRepo(context);

            // the item is returning these properties that are wrong
            //item.ChangeTracker.ChangeTrackingEnabled = false;
            //item.ChangeTracker.State = ObjectState.Added;

            Repo.Person.Update(item);
            Repo.Person.SaveChanges();

            return RedirectToAction("Index");
        }
    }
    catch
    {
    } …
Run Code Online (Sandbox Code Playgroud)

entity-framework-4 asp.net-mvc-2

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

异步等待模式帮助.我做得对吗?

我有一个"api"例如存储库模式,我写了从web返回xml然后将它水合成类.

它似乎挂起了GetXmlAsync(url)方法的结果.

public async Task<string> GetXmlAsync(string url)
{
    string xml = string.Empty;

    HttpMessageHandler handler = new HttpClientHandler();
    HttpClient httpClient = new HttpClient(handler);
    Uri uri = new Uri(url, UriKind.Absolute);
    HttpResponseMessage response = await httpClient.GetAsync(uri);

    xml = await response.Content.ReadAsStringAsync();

    return xml;
}
Run Code Online (Sandbox Code Playgroud)

但是当我在单元测试中使用相同的代码时,它可以工作.

在应用程序中,我称之为:

public async Task<IEnumerable<Post>> GetRecentAsync(int page)
{
    string url = this.urls.GetRecent(page);
    string xml = string.Empty;

    var xmlTask = this.loader.GetXmlAsync(url);

    xml = xmlTask.Result; // Hangs right here.

    var results = this.modelLoader.XmlToPost(xml);

    if (results.Count() < 1)
    {
        this.LastError = XmlLoadError;
    } …
Run Code Online (Sandbox Code Playgroud)

c# async-await windows-8 winrt-xaml

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

角落里的按钮?

我想在WPF/Silverlight窗口的每个角落都有4个按钮.但是我希望网格/窗口中的东西在按钮的"后面",好像它们漂浮在顶部.

   <Grid x:Name="ButtonRoot"> 
        <Button VerticalAlignment="Top" HorizontalAlignment="Left" 
          Name="bTopLeft" /> 
        <Button VerticalAlignment="Top" HorizontalAlignment="Right" 
          Name="bTopRight" /> 
        <Button VerticalAlignment="Bottom" HorizontalAlignment="Left" 
          Name="bBottomLeft" /> 
        <Button VerticalAlignment="Bottom" HorizontalAlignment="Right" 
          Name="bBottomRight" />

        <!-- Other junk here --> 
    </Grid> 
Run Code Online (Sandbox Code Playgroud)

问题是,按钮不会"过度",因为事物将"包裹"在按钮周围.我该如何达到这个效果?

我想要它的图表http://dl.compdj.com/images/stackButton.jpg

silverlight wpf xaml

0
推荐指数
1
解决办法
165
查看次数

从.Any()查询中检索匹配的项目

所以我有以下代码:

var itemsGrouped = this.Errors.GroupBy(x => x.UniqueName).AsEnumerable();
var hasErrors = !itemsGrouped.Any((f) =>
{
    var errorCount = f.ToArray()
    .Where(x => x.ErrorCount.HasValue)
    .Count(x => x.ErrorCount.Value > 0);

    return errorCount > 2;
});
Run Code Online (Sandbox Code Playgroud)

现在我想检索与.Any()查询匹配的单个项目.我如何只获得匹配的项目?

c# linq linq-to-objects

0
推荐指数
1
解决办法
42
查看次数