小编Eri*_*kTJ的帖子

ObservableCollection和线程

ObservableCollection我班上有一个.进一步进入我的课程,我有一个主题.从这个线程我想添加到我的ObservableCollection.但我不能这样做:

这种类型的CollectionView不支持从与Dispatcher线程不同的线程更改其SourceCollection.

请注意,这不是从UI线程发生的,因此我无权访问调度程序.

c# wpf multithreading observablecollection

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

GIT损坏的文件(<<<<<<<< HEAD)

在VS2012 git-plugin出现问题后,我在我的文件中有这个:

using Microsoft.VisualStudio.TestTools.UnitTesting;
<<<<<<< HEAD
using NHibernate;
=======
>>>>>>> dd2c3d7dfe81074e7c5a73f8e4ca2584481a74f1

namespace Controll.Hosting.Tests
{
[TestClass]
public class TestBase
{
<<<<<<< HEAD
    protected ISessionFactory SessionFactory;

    [TestInitialize]
    public void InitializeTestBase()
    {
            SessionFactory = NHibernateHelper.GetSessionFactoryForMockedData();
=======
    [ClassInitialize]
    public void InitializeTest()
    {
        Console.WriteLine("Settings NHibernateHelper.IsInTesting -> True");
        NHibernateHelper.IsInTesting = true;
>>>>>>> dd2c3d7dfe81074e7c5a73f8e4ca2584481a74f1
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何重置我的文件?

git git-merge merge-conflict-resolution

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

网络转移暂停

我在C#中创建了一个服务器和一个客户端来传输文件.但是当它转移它暂停几秒钟然后继续.我在YouTube上发布了一个视频,以演示:http://www.youtube.com/watch?v = GGRKRW6ihLo

正如你所看到的那样暂停然后继续.

接收器:

        using (var writer = new StreamWriter(Path.Combine(_localPath, file.FileName))) {
            var buffer = new byte[_bufferSize];
            while (file.Transferred < file.Size && _active) {
                int read = ns.Read(buffer, 0, _bufferSize);
                writer.BaseStream.Write(buffer, 0, read);
                file.Transferred += read;
            }
            writer.Close();
        }
Run Code Online (Sandbox Code Playgroud)

发件人:

            using (var reader = new StreamReader(file.FilePath)) {
                var buffer = new byte[_bufferSize];
                while (file.Transferred < file.Size && _active) {
                    int read = reader.BaseStream.Read(buffer, 0, _bufferSize);
                    ns.Write(buffer, 0, read);
                    file.Transferred += read;
                }
                reader.Close();
            }
Run Code Online (Sandbox Code Playgroud)

c# sockets

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

Moq设置无法正常工作,原始方法仍然被调用

当我尝试使用Moq时它仍然调用的原始方法.这是我的代码:

var mockedBetRepository = new Mock<BetRepository>(new FakeSiteContext());
mockedBetRepository.CallBase = true;
Bet bet = new Bet();
mockedBetRepository.Setup<Bet>(m => m.UpdateBet(bet)).Returns(bet);

betRepository = mockedBetRepository.Object;
Run Code Online (Sandbox Code Playgroud)

稍后在代码betRepository.UpdateBet(bet)中调用,但它不是我调用的模拟方法,而是调用类的方法:

public virtual Bet UpdateBet(Bet betToUpdate)
{
    siteContext.Entry(betToUpdate).State = System.Data.EntityState.Modified;
    siteContext.SaveChanges();
    return betToUpdate;
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c# moq mocking

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

在许多列表视图中使用相同的样式

我想在许多列表视图中使用相同的样式.在我的风格中,我也定义了gridview列.

但是当我尝试运行时,它会引发异常:

View不能由多个ListView共享.

我怎么解决这个问题?


XAML:

<Style x:Key="articleList" TargetType="{x:Type ListView}">
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True"/>
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="True"/>
<Setter Property="ListView.ItemsSource" Value="{Binding}"/>
<Setter Property="ListView.View">
    <Setter.Value>
        <GridView>
            <GridViewColumn Header="Subject" Width="300">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Subject}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Size" Width="75">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding SizeFormatted}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Poster" Width="175">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Poster}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Age" Width="75">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding AgeFormatted}"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </Setter.Value>
</Setter>
Run Code Online (Sandbox Code Playgroud)

wpf

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

简化代数表达式

可能重复:
简化数学表达式的策略

我有一个数学表达式解析器,它构建一个树来表示表达式.比方说,例如,我输入2+y+3+y,其内部表示将是:

在此输入图像描述

现在,作为人类,我们可以立即看到这一点2+y+3+y = 2y + 5.我看到计算机的棘手部分是,如果我站在左边+,我不知道在另一个分支中我还有另外一个权利 - 这在评估时无关紧要,但在简化时不明白这是如何做得很好的.

这是课程如何组合在一起: 在此输入图像描述

我试图谷歌这个,但没有找到任何可以帮助我在这里.只是一些通用的航点,或者一个网址或者其他什么东西都会受到赞赏

编辑:请注意,对于示例我只包括添加.解析器支持以下表达式:1 + 2*(3 ^ 4-4/5*(1 + 2))

c# math tree algebra

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

Moq It.Is <>不匹配

这段代码:

hub.MockedUserRepository.Setup(r => r.Update(It.IsAny<ControllUser>()))
                        .Callback((ControllUser usr) => Console.WriteLine("NULL = " + (usr.Zombies[0].ConnectionId == null)))
                        .Verifiable();
Run Code Online (Sandbox Code Playgroud)

会打印

NULL = True

所以我在想使用这种匹配会抓住它:

var zombieDisconnectParameterMatcher = It.Is<ControllUser>(x => x.Zombies[0].ConnectionId == null);
hub.MockedUserRepository.Setup(r => r.Update(zombieDisconnectParameterMatcher))
                        .Callback((ControllUser usr) => Console.WriteLine("NULL = " + (usr.Zombies[0].ConnectionId == null)))
                        .Verifiable();
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.

为什么?

c# unit-testing moq mocking

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

增加WPF GridSplitter鼠标抓取阈值

是否有可能增加用户可以抓住它的网格分割器的距离?

我的分割器宽度只有1像素.我希望能够从更远的距离抓住分路器.

就像现在一样,我必须将鼠标指向精确的1px线才能抓住它.

并且分离器的宽度仍必须是1px

wpf gridsplitter

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

编辑对话框,带有绑定和WPF中的确定/取消

如何使用绑定来编辑类的属性,并在对话框中使用OK-Cancel?

我的第一个想法是:

public partial class EditServerDialog : Window {
    private NewsServer _newsServer;

    public EditServerDialog(NewsServer newsServer) {
        InitializeComponent();

        this.DataContext = (_newsServer = newsServer).Clone();
    }

    private void ButtonClick(object sender, RoutedEventArgs e)
    {
        switch (((Button)e.OriginalSource).Content.ToString()) {
            case "OK":
                _newsServer = (NewsServer)this.DataContext;
                this.Close();
                break;
            case "Cancel":
                this.Close();
                break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在交换机中,情况"OK",DataContext包含正确的信息,但最初传递的NewsServer实例不会更改.

.net data-binding wpf

6
推荐指数
3
解决办法
1652
查看次数

无法使用 NHibernate 登录到 SQL Server,但使用 Management Studio 或 sqlcmd 它可以工作

尝试使用 NHibernate 连接到我的数据库时出现登录失败错误:

var config = Fluently.Configure()
              .Database(MsSqlConfiguration
              .MsSql2005
              .ConnectionString("Data Source=SERVER1\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=xxx"))
              .Mappings(x => x.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()));
Run Code Online (Sandbox Code Playgroud)

随着Error 18456 State 5在SQL Management Studio中的日志查看器。

但是使用sqlcmd或管理工作室它工作正常(使用 Windows 身份验证)!

可能是什么问题呢?

编辑 NHibernate 异常:

Test method ProjektLogg.Tests.NHibernateTests.ShouldBeAbleToGenerateFactory threw exception: 
FluentNHibernate.Cfg.FluentConfigurationException: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.

 ---> NHibernate.HibernateException: Login failed for user XXX-INTRANET\username. ---> System.Data.SqlClient.SqlException: Login failed for user XXX-INTRANET\username.
Run Code Online (Sandbox Code Playgroud)

c# sql-server

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

曲线上的标签/图例,曲线偏离0

我有一个数据集,包含14个不同的数据集,我想在一个图中进行比较,但我不能区分它们.是否可以在每行与0分开的位置放置标签?

在此输入图像描述

matlab

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

前三行WPF ListView的不同风格

我希望我的前三项ListView具有特殊风格.我怎样才能实现这一目标?

我试过这个但是item总是为null:

if (tracklistQueue.Items.Count > 0) {
    ListViewItem item = (ListViewItem)tracklistQueue.ItemContainerGenerator.ContainerFromIndex(0);
    item.Style = (Style)FindResource("StyleName");
}  
Run Code Online (Sandbox Code Playgroud)

wpf listview styles

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