小编Ben*_*erg的帖子

在WPF中构建自定义主题或使用标准主题

很快成为一名专业的.NET开发人员(我希望),我开始深入研究Windows Presentation Foundation(WPF).看几个视频教程,我发现GU​​I的设计是一项艰巨的任务.必须在每种情况下,在每种情况下,为每个平台指定每种颜色,这似乎有点过分.在设计方面,如何使这个过程更简单,更通用?是否有任何模板可以开始,或者在设计看起来吸引人之前是否需要指定几百行XAML?

考虑下面的代码块......

<Style TargetType="{x:Type Button}">
    <Setter Property="Background" Value="LightGreen" />
    <Setter Property="Foreground" Value="DarkGreen" />
</Style>
Run Code Online (Sandbox Code Playgroud)

...遗漏了悬停和按钮样式的属性,需要额外的XAML行才能完成开发人员想要的操作.

可能有一个简单的XAML编辑器来提高生产力?如果没有,它只是挖掘XAML并开始构建样式,以备后续项目.

c# wpf desktop themes styles

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

WPF基本面?

在大学,我们使用Windows Forms教授.NET(包括VB和C#).我们想在我们的高级课程中介绍Windows Presentation Foundation(WPF)的概念.为了获得WPF的基本知识,学生需要学习哪些WPF基础知识?

这个想法是让学生在六个任务中至少有一个使用WPF,并且学习所有这些WPF基础知识似乎有点令人生畏.哪三个基础被认为是强制性的?

谢谢你的时间!

.net c# vb.net wpf

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

ASP.NET中的ID命名约定?

来自HTML,XML和PHP的世界,它是使用ASP.NET制作Web应用程序时的一种新思维方式.我想在我的MasterPage中使用以下代码:

<div id="leftnav">
    <asp:ContentPlaceHolder ID="leftnav" runat="server">
    </asp:ContentPlaceHolder>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,由于leftnav在这个示例中使用了两次,因此Visual Studio会做出一个小而明显的抗议.在这种情况下我应该怎么想,哪个是在ASP.NET中命名ID的最合适的用法.

我不喜欢默认命名,因为id="ContentPlaceHolder1"没有说明内容.

谢谢你的聆听!

asp.net naming-conventions

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

将Java Socket,BufferedReader,BufferedWriter转换为C#?

在Java中我们有Socket,BufferedReader和BufferedWriter,但C#中的等价物是什么?

Socket socket;
socket = new Socket(address, port);
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Run Code Online (Sandbox Code Playgroud)

c# java

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

向Windows.Forms退出按钮添加功能?

在C#.NET 4.0中编程是我最近的热情,我想知道如何在标准的Windows.Forms Exit按钮(表单右上角的红色X)中添加功能.

我找到了一种禁用按钮的方法,但由于我认为它会影响用户体验,我想将一些功能联系起来.

如何禁用退出按钮:

    #region items to disable quit-button
    const int MF_BYPOSITION = 0x400;
    [DllImport("User32")]
    private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
    [DllImport("User32")]
    private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
    [DllImport("User32")]
    private static extern int GetMenuItemCount(IntPtr hWnd);
    #endregion 
Run Code Online (Sandbox Code Playgroud)

...

    private void DatabaseEditor_Load(object sender, EventArgs e)
    {
        this.graphTableAdapter.Fill(this.diagramDBDataSet.Graph);
        this.intervalTableAdapter.Fill(this.diagramDBDataSet.Interval);

        // Disable quit-button on load
        IntPtr hMenu = GetSystemMenu(this.Handle, false);
        int menuItemCount = GetMenuItemCount(hMenu);
        RemoveMenu(hMenu, menuItemCount - 1, MF_BYPOSITION);
    }
Run Code Online (Sandbox Code Playgroud)

但是,在应用程序退出标准退出按钮之前,我如何附加方法.我想在退出Windows窗体之前XmlSerialize一个List.

c# button exit winforms

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

在GridView(ASP.NET)中显示会话变量?

刚从ASP.NET开始,发现很难使用GridView.我有一组Session变量,我想放入GridView控件,但我缺乏知识.文件:

<%@ Page Title="Warehouse" Language="C#" AutoEventWireup="true" 
    MasterPageFile="~/Site.master"
    CodeFile="Warehouse.aspx.cs" Inherits="Warehouse" %>

<asp:Content ID="HeaderContent" runat="server" 
     ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        Warehouse
    </h2>
    <asp:Panel ID="WarehousePanel" runat="server">
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </asp:Panel>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

在后面的代码中我想将会话变量添加到GridView1,仅用于显示目的.稍后它将连接到数据库,但是为了练习,我想知道如何将会话变量添加到GridView1.文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Warehouse : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["milk"] == null)
                Session["milk"] = "0";
            if (Session["apple"] == null)
                Session["apple"] = "0";
            if (Session["orange"] == null)
                Session["orange"] = "0";

            // …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview session-variables

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

在桌面应用程序中本地使用哪个数据库?

我在桌面应用程序中使用数据库有两种不同的选择.我更喜欢本地的基于服务的数据库.但我应该使用本地数据库吗?

.net c# database visual-studio

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

在C#ASP.NET中使用LINQ返回接下来的5行?

我正在使用LINQ查询我的数据库,我不希望所有记录一次性返回.相反,用户应该能够使用按钮选择Next 5Previous 5.到目前为止,我已经在数据库中的Item表中选择了前5行,如下所示:

private void ShowItems()
{
    var items = (from p in db.Items
                 orderby p.ID descending
                 select new { ID = p.ID, Item = p.itemName, 
                     Qty = p.quantity }).Take(5);

    GridView.DataSource = items;
    GridView.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

所以我的想法是将Take()更改为Take(from,to),但不支持.我该怎么做才能解决我的问题?

Thanx听!

c# linq asp.net

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

将随机变量添加到 ASP.NET .master 文件中 CSS 文件的链接而不使用隐藏代码?

我的客户测试环境中有一个 SharePoint 2013 Server。它通过名为Net Scaler的缓存实例进行过滤,该实例可以很好地将相同的文件传递给不同的客户端。问题是它不检查文件是否是新的 - 它只是推出它得到的文件。

添加诸如之类的 css 变量styles.css?ver=1000可以解决问题,并且 Net Scaler 会将其视为新文件。但是,我很难在每个页面请求上使其唯一。

由于这是 SharePoint 2013,因此我不允许编辑后台代码,并且仅限于 .master 文件。我尝试过不同的标记,但没有任何效果符合我的预期。

这是我迄今为止的尝试,但没有达到预期效果。

<SharePoint:CssRegistration 
name="/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=
<%= DateTime.Now.ToString() %>" runat="server" after="SharepointCssFile" />

<!-- or -->

<link rel="stylesheet" type="text/css"
href="/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=
<%= DateTime.Now.ToString() %>"  />
Run Code Online (Sandbox Code Playgroud)

我什至尝试使用这篇文章中的内联 JavaScript 加载css 文件 How to load up CSS files using Javascript? :

<script type="text/javascript">
    //<![CDATA[ 
        var $ = document; // shortcut
        var timestamp = Date.now();
        var cssId = '/_catalogs/masterpage/Customer/Style/ResponsiveMaster.css?ver=' + timestamp;  
        // you could encode the …
Run Code Online (Sandbox Code Playgroud)

.net asp.net sharepoint

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