小编the*_*man的帖子

Observable Collection替换项目

我有一个ObservableCollection,我可以添加和删除集合中的项目.但我无法替换集合中的现有项目.有一种方法可以替换项目并将其反映在我的绑定组件上.

System.Collections.Specialized.NotifyCollectionChangedAction.Replace
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何做到这一点?

wpf binding replace observablecollection

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

选择不在另一个表中的行,SQL Server查询

主题表

CREATE TABLE [dbo].[BS_Subject](
     [SubjectID] [bigint] IDENTITY(1,1) NOT NULL,
     [DepartmentID] [bigint] NOT NULL,
     [SubjectName] [varchar](50) NOT NULL,
     [SubjectDescription] [varchar](100) NULL,
     [SubjectShortCode] [varchar](10) NOT NULL,
CONSTRAINT [PK_Subject] PRIMARY KEY CLUSTERED 
(
    [SubjectID] ASC
)
Run Code Online (Sandbox Code Playgroud)

SubjectToClass表

CREATE TABLE [dbo].[BS_SubjectToClass](
[SubjectToClassID] [bigint] IDENTITY(1,1) NOT NULL,
[SubjectID] [bigint] NOT NULL,
[ClassID] [bigint] NOT NULL,
CONSTRAINT [PK_BS_SubjectToClass] PRIMARY KEY CLUSTERED 
(
[SubjectToClassID] ASC
)
Run Code Online (Sandbox Code Playgroud)

我需要列出Subject表中subjectid不在SubjectToClass指定类的表中的所有行.

我有这个,但无法继续下去

select Distinct(BS_Subject.SubjectID) DepartmentID, 
       SubjectName, SubjectDescription,    SubjectShortCode
from dbo.BS_Subject
where BS_Subject.SubjectID <> (
SELECT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

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

C#List <>到xml

调用

List<PC> _PCList = new List<PC>();
...add Pc to PCList.. 
WriteXML<List<PC>>(_PCList, "ss.xml");
Run Code Online (Sandbox Code Playgroud)

功能

public static void WriteXML<T>(T o, string filename)
{

    string filePath= Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\Genweb2\\ADSnopper\\" + filename;

    XmlDocument xmlDoc = new XmlDocument();
    XPathNavigator nav = xmlDoc.CreateNavigator();
    using (XmlWriter writer = nav.AppendChild())
    {
        XmlSerializer ser = new XmlSerializer(typeof(List<T>), new XmlRootAttribute("TheRootElementName"));
        ser.Serialize(writer, o); // error
    }
    File.WriteAllText(filePath,xmlDoc.InnerXml);

}
Run Code Online (Sandbox Code Playgroud)

内在的例外

无法转换类型为'System.Collections.Generic.List 1[PC]' to type 'System.Collections.Generic.List1 [System.Collections.Generic.List`1 [PC]]'的对象.

请帮忙

c# xml xmlserializer

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

与IIS的第三方DLL的WCF服务连接

我正在使用Windows 7,VS2010,SqlServer 2008.

我的应用程序从第三方dll(它从另一个必须在后台运行的进程获取数据)中获取数据,并处理数据并通过WCF服务将其发送到前端.

应用程序已完成并完成它应该执行的操作.现在,当我想分发它并在IIS中运行它.我面临一个奇怪的问题.当我在IIS中运行它时,应用程序从dll获取数据它失败并在连接到dll时出错.

由于以下错误,检索具有CLSID {FCEC6861-5866-4F9E9A09-7CC868C30A8B}的组件的COM类工厂失败:80070005访问被拒绝.(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)).

经过一些研究后我发现了组件服务,在DCOM配置中,我将dll的安全性改为每个人.错误停止了.

但是现在我没有得到错误,但是当提供数据的软件关闭时,我没有得到数据.但是我的ASP.net开发服务器可以正常工作.

另外我发现当我以管理员模式运行Visual Studio时,我也必须在管理模式下运行第三方数据软件.

dll引用不会自动复制到bin文件夹中,它放在obj文件夹中我手动复制它但它不起作用.

c# wcf

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

F#错误:此值不是函数,无法应用

 let GetVal (i,isMin,al, be)= 
        let b = new Board(board) 
        if b.SetBoardBool(i) then this.MinMaxAlphaBeta(b, isMin, al, be)
        else -2

    let valList = seq{ 
            for i =0 to 8 do 
                yield (GetVal i (not isMin) alphaF betaF ,  not isMin)
                } 
Run Code Online (Sandbox Code Playgroud)

我收到一个F#错误说:此值不是函数,无法应用.

valList是int和bool的元组序列,GetVal接受int bool int int并返回int.其中alphaF betaF是可变变量.

f#

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

绑定属性不是依赖属性

我想将媒体元素的位置绑定到它的模型视图。我知道该属性不是依赖属性。所以尝试了这种方式,我在网上找到的代码

<MediaElement Source="{Binding CurrentClip.Path, Converter={StaticResource converter}, UpdateSourceTrigger=PropertyChanged}" Stretch="Uniform" local:MediaElementHelper.Postion="{Binding CurrentClip.Postion}"
Run Code Online (Sandbox Code Playgroud)

媒体元素助手

class MediaElementHelper
{
    public static readonly DependencyProperty PostionProperty =
        DependencyProperty.RegisterAttached("Position",
        typeof(bool), typeof(MediaElement),
        new FrameworkPropertyMetadata(false, PostionPropertyChanged));

    private static void PostionPropertyChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
    {
        var richEditControl = obj as MediaElement;

        if (richEditControl != null)
        {
            richEditControl.Position = (TimeSpan)e.NewValue;
        }
    }
    public static void SetPostion(UIElement element, TimeSpan value)
    {
        element.SetValue(PostionProperty, value);
    }
    public static TimeSpan GetPostion(UIElement element)
    {
        return (TimeSpan)element.GetValue(PostionProperty);
    }
}
Run Code Online (Sandbox Code Playgroud)

[错误] 无法在“MediaElement”类型的“SetPostion”属性上设置“Binding”。“绑定”只能在 DependencyObject 的 DependencyProperty 上设置。

我究竟做错了什么?

c# wpf

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

如何垂直翻转BitmapImage

我想垂直翻转一个BitmapImage作为原始镜像.这就是我所拥有但旋转不会翻转图像.

var tb = new TransformedBitmap();
BitmapImage bi = Type.Image.Clone();
tb.BeginInit();
tb.Source = bi;
var transform = new RotateTransform(180);
tb.Transform = transform;
tb.EndInit();
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

按存储过程进行数据库分页

我想要一个存储过程为y页数取x个数据行.例如

我有20个datarow我的页面大小是2如果我选择第2页我会得到数据行17,18

我可以使用前200并使用order by来选择第一个和最后一个datarow但是我如何获得它们之间的页面.

@PageNumber INT
As
BEGIN
SELECT COUNT(rate.RateID)/200 FROM  dbo.Rate where dbo.Rate.Hourly =0 

DECLARE @LastIndex INT
SET @LastIndex= (SELECT TOP 1 rate.RateID FROM  dbo.Rate where dbo.Rate.Hourly =0  ORDER BY rate.RateID ASC) 

Select TOP 200
    [RateID],
    [PairID],
    [Open],
    [Close],
    [High],
    [Low],
    [Difference],
    [Average],
    [Percentage],
    [InfoDate],
    [Hourly],
    [CaptureDateTime]
From Rate
WHERE Hourly =0 AND RateID >=(@LastIndex+(200* @PageNumber))
ORDER BY [RateID] ASC
Run Code Online (Sandbox Code Playgroud)

结束这是我现在所拥有的,但它不能正常工作

sql stored-procedures

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

从System.Collections.Generic.List中选择x个元素c#

我需要的是一种从列表中选择最后100个元素的方法,如列表

    public List<Model.PIP> GetPIPList()
    {
        if (Repository.PIPRepository.PIPList == null)
            Repository.PIPRepository.Load();
        return Repository.PIPRepository.PIPList.Take(100);

    }
Run Code Online (Sandbox Code Playgroud)

我得到这样的错误

'System.Collections.Generic.IEnumerable'到'System.Collections.Generic.List'.存在显式转换(您是否错过了演员?)

c# list

4
推荐指数
2
解决办法
3269
查看次数

如何通过套接字C#发送对象

我有一个对象列表,我想发送它认为TCP套接字连接.一种方法是获取对象列表并获取所有值,通过逗号和接收数据将它们分开,另一端和对象中的值.我是否可以发送对象列表,因为它可以在WCF Web服务中完成.你能告诉我怎么样?谢谢!

我之前已经为此创建了一个WCF服务但是因为它有一些无法解决的问题而改变了它.所以我正在创建此客户端服务器应用程序

此外,正在发送的数据每隔几秒刷新一次,很多用户都需要它.经过一些研究,我发现这将是一个更好的选择.

我有这个课程,我通过它发送消息

public void SendMessage(string text)
{
    Byte[] bytesSent = Encoding.UTF8.GetBytes(text);
    SocketAsyncEventArgs writeEventArgs = new SocketAsyncEventArgs();
    writeEventArgs.SetBuffer(bytesSent, 0, bytesSent.Length);
    socket.SendAsync(writeEventArgs);
}
Run Code Online (Sandbox Code Playgroud)

但我宁愿首先序列化对象然后发送它.所以我有一个流和需要作为字节数组.

这是我必须接收的数据:

void ReceiveData()
{
    try
    {
        int recv;
        string stringData;
        while (true)
        {
            recv = socket.Receive(data);
            stringData = Encoding.ASCII.GetString(data, 0, recv);
            if (stringData == "bye")
                break;
            ClientDataRecievedEventArgs sd = new ClientDataRecievedEventArgs(stringData);
            DataRecieved(this, sd);
        }
        stringData = "bye";
        byte[] message = Encoding.ASCII.GetBytes(stringData);
        socket.Send(message);
        socket.Close();
        this.Dispose();
        return;
    }
    catch (Exception)
    {
        socket.Close();
        this.Dispose();
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我想要的:

SoapFormatter …
Run Code Online (Sandbox Code Playgroud)

c# sockets tcp object

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