小编Moh*_*ava的帖子

模板之间的区别

有什么区别

  • 控件模板
  • DataTemplate中
  • HierarchalDataTemplate
  • ItemTemplate中

c# wpf datatemplate itemtemplate controltemplate

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

c#字符串数组未显示

以下是用c#编写的简单服务器和客户端代码段.我想从服务器发送一个字符串数组,并从客户端接收它并显示在控制台上.但是字符串数组没有显示出来.代码有什么问题吗?

服务器

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Text;
using System.Xml.Serialization;

namespace server
{
    class Program
    {
        static void Main(string[] args)
        {  
            TcpListener tcpListener = new TcpListener(IPAddress.Any, 1234);
            tcpListener.Start();  

            while (true)
            {                     
                TcpClient tcpClient = tcpListener.AcceptTcpClient();
                byte[] data = new byte[1024];

                NetworkStream ns = tcpClient.GetStream();
                string[] arr1 = new string[] { "one", "two", "three" };

                var serializer = new XmlSerializer(typeof(string[]));
                serializer.Serialize(tcpClient.GetStream(), arr1);

                int recv = ns.Read(data, 0, data.Length);                 
                string id = Encoding.ASCII.GetString(data, 0, recv);

                Console.WriteLine(id); …
Run Code Online (Sandbox Code Playgroud)

c# sockets

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

命令...已结束代码-532462766

这是给我错误的行。

<Exec Command="&quot;$(MonoGameContentBuilderExe)&quot;
/@:&quot;%(ContentReferences.FullPath)&quot; $(Header)"
WorkingDirectory="%(ContentReferences.RootDir)%(ContentReferences.Directory)" />
Run Code Online (Sandbox Code Playgroud)

它来自MonoGame.Content.Builder.targets文件。

完整的错误是:

命令““ C:\ Program Files(x86)\ MSBuild \ MonoGame \ v3.0 \ Tools \ MGCB.exe” / @:“ C:\ Users \ Jake \ documents \ visual studio 2015 \ Projects \ FirstGame \ FirstGame \ Content \ Content.mgcb” /平台:Windows / outputDir:“ C:\ Users \ Jake \ documents \ visual studio 2015 \ Projects \ FirstGame \ FirstGame \ Content \ bin \ Windows” / intermediateDir:“ C:\ Users \ Jake \文档\ Visual Studio 2015 \ …

c# visual-studio-2010 visual-studio monogame visual-studio-2015

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

如何强制窗口重绘?

我有一个全屏窗口,使用此代码:

WindowStyle = System.Windows.WindowStyle.None;
WindowState = System.Windows.WindowState.Maximized;
Topmost = true;
Run Code Online (Sandbox Code Playgroud)

它在Win7下工作正常,但在WinXP下,当窗口全屏时,一些窗口元素不会被重绘.有没有办法强制窗口进行完全重绘和布局更新?

如果我用Atl-Tab切换到另一个应用程序然后再回到我的应用程序,UPD全部重新绘制正常

.net c# wpf xaml

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

获取类库中的当前目录

我正在使用 .Net Framework 4.5.1 开发一个 C# 库,以便在 Windows 8.1 桌面应用程序中使用它。

在这个库项目中,我有一个JSON文件,我想加载它。首先,我尝试使用以下命令获取当前目录:

string currentDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

但是,我测试过,Assembly.GetEntryAssembly()结果为空。

也许,我可以使用资源文件而不是 JSON 文件。

这是方法:

private void LoadData()
{
    string currentDir = 
        Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

    string file = 
        Path.Combine(currentDir, cardsDir, cardsFile);

    string json =
        File.ReadAllText(file);

    Deck = JsonConvert.DeserializeObject<Card[]>(json);
}
Run Code Online (Sandbox Code Playgroud)

任何想法?有更好的方法吗?如何获取当前目录?

c# wpf json windows-8 windows-8.1

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

无法将DBNull.Value强制转换为“ System.DateTime”类型,请使用可为空的类型

date为null时出错。错误行-DateTime renewalDate = row.Field(“ RenewalDate”);

protected void GrdV_Projects_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow )
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
        DataRow row = ((DataRowView)e.Row.DataItem).Row;
        DateTime renewalDate = row.Field<DateTime>("RenewalDate");
        if (renewalDate.Date > DateTime.Today)
            e.Row.Cells[7].BackColor = System.Drawing.ColorTranslator.FromHtml("#669B1F");
        else
            e.Row.Cells[7].BackColor = System.Drawing.ColorTranslator.FromHtml("#FF8234");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net datetime casting

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

反序列化未填充数据-C#

我正在尝试反序列化XML。XML示例如下

 <?xml version="1.0" ?> 
 <TRANSACTION_RESPONSE>
    <TRANSACTION>
        <TRANSACTION_ID>25429</TRANSACTION_ID> 
        <MERCHANT_ACC_NO>02700701354375000964</MERCHANT_ACC_NO> 
        <TXN_STATUS>F</TXN_STATUS> 
        <TXN_SIGNATURE>a16af68d4c3e2280e44bd7c2c23f2af6cb1f0e5a28c266ea741608e72b1a5e4224da5b975909cc43c53b6c0f7f1bbf0820269caa3e350dd1812484edc499b279</TXN_SIGNATURE> 
        <TXN_SIGNATURE2>B1684258EA112C8B5BA51F73CDA9864D1BB98E04F5A78B67A3E539BEF96CCF4D16CFF6B9E04818B50E855E0783BB075309D112CA596BDC49F9738C4BF3AA1FB4</TXN_SIGNATURE2> 
        <TRAN_DATE>29-09-2015 07:36:59</TRAN_DATE> 
        <MERCHANT_TRANID>150929093703RUDZMX4</MERCHANT_TRANID> 
        <RESPONSE_CODE>9967</RESPONSE_CODE> 
        <RESPONSE_DESC>Bank rejected transaction!</RESPONSE_DESC> 
        <CUSTOMER_ID>RUDZMX</CUSTOMER_ID> 
        <AUTH_ID /> 
        <AUTH_DATE /> 
        <CAPTURE_DATE /> 
        <SALES_DATE /> 
        <VOID_REV_DATE /> 
        <REFUND_DATE /> 
        <REFUND_AMOUNT>0.00</REFUND_AMOUNT> 
    </TRANSACTION>
  </TRANSACTION_RESPONSE>  
Run Code Online (Sandbox Code Playgroud)

以下是课程

[XmlType("TRANSACTION_RESPONSE")]

public class BankQueryResponse
{
    [XmlElement("TRANSACTION_ID")]
    public string TransactionId { get; set; }

    [XmlElement("MERCHANT_ACC_NO")]
    public string MerchantAccNo { get; set; }

    [XmlElement("TXN_SIGNATURE")]
    public string TxnSignature { get; set; }

    [XmlElement("TRAN_DATE")]
    public DateTime TranDate { get; set; }

    [XmlElement("TXN_STATUS")]
    public string TxnStatus { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-deserialization

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

如何在linq where子句中将int与字符串进行比较

我有一个string这,我想比较的参数intstringLinq query

var query=(from GRD in _tblMembers.GetQueryable()
           select new MembersModel
           {
               SchoolID = GRD.SchoolID,
               MemberID = GRD.MemberID,
               MemberReferenceID = GRD.MemberReferenceID,
               MemberTypeID = GRD.MemberTypeID,
               MemberNo = GRD.MemberNo,
               MemberName = GRD.MemberName,
               CellNo = GRD.CellNo,                                         
            }).Where(z => z.MemberName.Contains(param.sSearch) || z.MemberTypeID.Contains(param.sSearch)).ToString();
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下ToString()方法将数据库参数转换为字符串类型时。

.Where(z => z.MemberName.Contains(param.sSearch) || z.MemberTypeID.ToString().Contains(param.sSearch)).ToString();
Run Code Online (Sandbox Code Playgroud)

linq抛出运行时异常。

LINQ to Entities无法识别方法'System.String ToString()',并且该方法无法转换为商店表达式。

如何在linq查询中进行掩护。

c# linq entity-framework

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

Newtonsoft JSON 反序列化问题 [将值转换为类型时出错]

使用 C# Newtownsoft JSON 库...我遇到了这个问题。

设置舞台...

我有来自 RESTful Web 服务的这个 JSON:

[
    {
        "CorporateArea": "Brampton",
        "ServiceAddress": "321 Heart Lake Road",
        "VendorName": "Enbridge Gas Distribution Inc",
        "MeterNumber": "502105",
        "RateClass": "NG-R6",
        "Department": "22603",
        "Account": "12008",
        "VendorID": "0000001195",
        "MeterLevelID": 2882,
        "SiteAddressID": 468,
        "MappingLocation": "Beckett Sproule",
        "ElectricalBilling": "",
        "EnergyLine": "",
        "CorporateGroup": "Public Works"
    }
]
Run Code Online (Sandbox Code Playgroud)

我也有这些 C# 类:

public class AccountInfo
{
    [JsonProperty("Account")]
    public string Account { get; set; }

    [JsonProperty("CorporateArea")]
    public string CorporateArea { get; set; }

    [JsonProperty("CorporateGroup")]
    public string CorporateGroup { get; …
Run Code Online (Sandbox Code Playgroud)

c# rest json web-services json.net

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

使方法异步后 HttpContext.Current.Session null

我有一个像下面这样的方法

book.Bindbook();
Run Code Online (Sandbox Code Playgroud)

我将其设为异步,如下所示

new Task(book.Bindbook).Start();
Run Code Online (Sandbox Code Playgroud)

现在,此方法使用 HttpContext.Current.Session,它现在返回 null。这是返回 null 的代码

public static Bookmanager CartManager
{
    //Gets the value from the session variable.
    get
    {
        try
        {
            if (HttpContext.Current.Session["BookData"] == null)
            {
                Bookmanager bookmgr= new Bookmanager ();
                Book book = new Book(SessionManager.CurrentUser);
                bookmgr.SetCurrentCart(book);                       
                HttpContext.Current.Session["BookData"] = bookmgr;
            }
            else if (((Bookmanager)HttpContext.Current.Session["BookData"]).GetCurrentCart() == null)
            {
                Book book = new Book(SessionManager.CurrentUser);
                ((Bookmanager)HttpContext.Current.Session["BookData"]).SetCurrentCart(book);
            }
        }
        catch(Exception ex)
        {
            //throw ex;
        }
        return ((Bookmanager)HttpContext.Current.Session["BookData"]);
    }
    //Sets the value of the session variable.
    set
    {
        HttpContext.Current.Session["BookData"] = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net multithreading

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