很快成为一名专业的.NET开发人员(我希望),我开始深入研究Windows Presentation Foundation(WPF).看几个视频教程,我发现GUI的设计是一项艰巨的任务.必须在每种情况下,在每种情况下,为每个平台指定每种颜色,这似乎有点过分.在设计方面,如何使这个过程更简单,更通用?是否有任何模板可以开始,或者在设计看起来吸引人之前是否需要指定几百行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并开始构建样式,以备后续项目.
在大学,我们使用Windows Forms教授.NET(包括VB和C#).我们想在我们的高级课程中介绍Windows Presentation Foundation(WPF)的概念.为了获得WPF的基本知识,学生需要学习哪些WPF基础知识?
这个想法是让学生在六个任务中至少有一个使用WPF,并且学习所有这些WPF基础知识似乎有点令人生畏.哪三个基础被认为是强制性的?
谢谢你的时间!
来自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"没有说明内容.
谢谢你的聆听!
在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#.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.
刚从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) 我在桌面应用程序中使用数据库有两种不同的选择.我更喜欢本地的基于服务的数据库.但我应该使用本地数据库吗?
我正在使用LINQ查询我的数据库,我不希望所有记录一次性返回.相反,用户应该能够使用按钮选择Next 5和Previous 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听!
我的客户测试环境中有一个 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)