Time of Update: 2018-12-07
對象拖動是一個老生常談的話題,在SL上要實現對象拖動,一般有三種思路:一、基於Canvas絕對位置布局的拖動這種處理方法最簡單,修改對象的Canvas.Top與Canvas.Left即可,簡單明了!線上案例: silverlight圖片局部放大效果但是很多時候,我們採用的布局並不是Canvas,如果僅僅為了實現對象拖動,把整個布局重構,代價太大,有點得不償失。二、基於對象Margin值的拖動Margin是對象的通用屬性,通過改變Margin值理論上可在任何布局下,重新置放對象的位置。線上案例:
Time of Update: 2018-12-07
今天繼續學習RDLC報表的“參數傳遞”及“主從報表”一、先建立DataSet,如:二、建立一個報表rptDEPT.rdlc,顯示部門T_DPET的資料三、嵌入Default.aspx中,寫在Default.aspx.cs中寫些基本代碼using System;using System.Data;using Microsoft.Reporting.WebForms;namespace ReportSample{ public partial class Default :
Time of Update: 2018-12-07
註:此乃“流水帳”式的水文,營養成分較低,高手請自動無視以下內容,否則引起消化不良等癥狀等,一概不管 ^_^ c#自從3.0開始,提供了很多便捷的文法特性(俗稱“文法糖”),以簡化程式員的工作量,同時也讓編程變得更有樂趣,但是凡事有利必有弊。比如我們有一個類,希望能序列化成字串後,以string方式在Silverlight與WCF(或其它後台編程技術)之間傳輸。using System.IO;using System.Text;using
Time of Update: 2018-12-07
CIMP:Cargo-IMP(Cargo Interchange Message Procedures) 一種純文字的報文格式CargoXML:Cargo-XML 基於XML的報文格式DEP:離港(Departure),一般在離港時會發FSU,FFM報文FWB:主單貨物資訊(Freight Waybill)FFM:航空公司艙單電(Flight Freight Manifest)FHL:分單(Flight House Waybill)FSU:貨物狀態更新(Flight Status Update)
Time of Update: 2018-12-07
情境:有一家公司(類名:Company),它有N多員工(類名:Employee)。要在介面上用網格顯示所有員工的姓名、工資,並且當操作使用者在網格裡對員工進行增減或修改其工資時,能自動匯總出員工工資的總和並顯示出來。員工類 Employee代碼如下: /// <summary> /// 員工類 /// </summary> public class Employee:INotifyPropertyChanged {
Time of Update: 2018-12-07
不廢話了,直奔主題吧wcf端:近幾年比較流行restful,為了能讓ajax調用,同時也為了支援restful風格的uri,在建立一個Ajax-enabled Wcf Service後,必須手動修改svc檔案,指定Factory,即:<%@ ServiceHost Language="C#" Debug="true" Service="ajaxSample.HelloWorld" CodeBehind="HelloWorld.svc.cs"
Time of Update: 2018-12-07
預設情況下,Silverlight內建的ListBox控制項如果內部有多個TextBox,使用者無法用鍵盤上的Tab鍵,在ListBox內部的TextBox之間切換。但Teterik RadControls 中的telerik:ListBox卻很好的解決了這個問題,只要把telerik:ListBox的IsTabStop設定成false,同時把TabNavigation設定成Local即可(而SL內建的ListBox就算設定了這二個屬性,Tab鍵需要按二次才能切換焦點)完整Xaml代碼:<
Time of Update: 2018-12-07
這是上一篇“Silverlight:雙向繫結綜合應用-自動更新集合彙總欄位”的續篇。需求情境如下:一個公司,有N個員工,逢年過節時要搞一些抽獎活動,最終要公告收獎名單。"員工"類如下:namespace CollectionBinding{ /// <summary> /// 員工類 /// </summary> public class Employee : NotifyPropertyChangedObject {
Time of Update: 2018-12-07
預設情況下: telerik RadControls控制項使用的是Office Black 主題,就算在App.xaml.cs裡寫上StyleManager.ApplicationTheme = new Windows7Theme(); 在blend中,看到的仍然是Office Black主題,如果想在設計期就看到某種主題風格,有一個簡單的辦法:找到telerik radcontrols安裝目錄,會看到以下目錄:X:\Program Files
Time of Update: 2018-12-07
預設情況下,silverlight在調用wcf時,如果傳遞的參數長度大於8192位元組,即8k,會提示Not Found錯誤。解決方案如下:1、wcf服務端修改web.config 如下:<?xml version="1.0"?><!-- For more information on how to configure your ASP.NET application, please visithttp://go.microsoft.com/fwlink/?LinkId=16
Time of Update: 2018-12-07
當ScrollViewer裡包含很多子控制項時,預設情況下只能用滑鼠手動拖動(或滾輪)捲軸以實現內容的滾動,假如使用者是鍵盤高手,習慣於用Tab鍵來切換子控制項焦點時,即使當前獲得焦點的控制項在不可見地區,捲軸也不會自動跟隨著滾動到相應位置,這個非常不方便,今天在網上看到一個老外的解決辦法,代碼轉貼於此: private void _ScrollViewer_GotFocus(object sender, RoutedEventArgs e) {
Time of Update: 2018-12-07
直接給碼:<UserControl x:Class="SilverlightApplication1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2
Time of Update: 2018-12-07
1、前言作為一個多年從事b/s開發的程式猿,曾先後使用過asp、asp.net做為主要服務端語言。不管是相對低級的asp也好,還是進階的asp.net也罷,都100%會遇到"資料繫結"問題。2、什麼是“綁定”?廣義來講,如果服務端的資料需要在頁面上呈現,並且這份資料需要與整個頁面(或頁面的某個部分)建立關聯(不管是單向關聯還是雙向關聯),這就是資料繫結。3、“賦值”是個好辦法在asp年代,壓根兒就沒有控制項這一說,所以服務端的資料呈現,基本上就是通過在頁面中內嵌<%=xxx%>來實現
Time of Update: 2018-12-07
iFrame如果嵌入的是普通網頁,這種情境下的iframe高度自適應解決方案,百度一下隨手都能找到一大把。但是嵌入Silvelight時,嵌入iframe的父頁面預設不知道Silverlight內容的真實高度,所以上述辦法就不起作用了。其實只要換個思路:既然父頁面不知道iframe中SL的高度,SL難道不能自己主動向父頁面彙報自已的高度嗎?先看最終的效果:注:Page1,Page3均是SL中的UserControl代碼見下面的原始碼:主要步驟為1、SL在每個頁面的Page_Loaded中,通過與
Time of Update: 2018-12-07
Blend內建的行為MouseDragElementBehavior應用到ListBox後,如果用滑鼠按住列表列拖動,沒有任何效果,在多次嘗試中意外發現,如果將ListBox的邊框設定成一個較大值,在邊框上點擊時,卻可以拖動,但是一般開發中,沒人會把ListBox設定一個粗粗的難看邊框。於是想到了下面的變通解決辦法:當滑鼠進入時顯示邊框,滑鼠離開時再隱藏邊框。範例程式碼:Xaml部分<UserControl
Time of Update: 2018-12-07
直接給碼:using System;using System.IO;using Telerik.Windows.Zip;namespace JIMMY{ public static class ZipHelper { /// <summary> /// 利用telerik的zip庫壓縮字串 /// </summary> /// <param name="str"></param>
Time of Update: 2018-12-07
項目開發中遇到一個要求,需要將ComboBox右側中的小三角箭頭給去掉,通過Blend工具“編輯ComboBox的模板副本”得知,這是一個名為"BtnArrow"的Path。但是在CS代碼中,是無法引用到這個控制項的。 解決辦法:重新定義一個類,繼承自ComboBox,然後重寫OnApplyTemplate方法,代碼如下using System.Windows;using System.Windows.Controls;using System.Windows.Shapes;namespace
Time of Update: 2018-12-07
下面這段代碼整理自sl4的官方文檔,已經加了詳細的注釋,相信大家都能看明白:using System;using System.Reflection;using System.Reflection.Emit;using System.Threading;namespace CustomAttributeBuilderSample{ public class DemoClass { static void Main(string[] args) {
Time of Update: 2018-12-07
RDLC報表是微軟自家的報表,已經整合在vs2010中,相對水晶報表更輕量級,更重要的是:可直接在web項目中使用。使用步驟:一、建立DataSet右擊->Add New Item->
Time of Update: 2018-12-07
當RadGridView中嵌套RadComboBox,且RadGridView的高度不夠出現捲軸時,上下拉動捲軸後,RadComboBox中的選中值將丟失!如:捲軸未拖動前捲軸上下拖動後(注意的高亮部分)重現該Bug的測試代碼:Model層TextValueObject.csnamespace RadControlsBug.Model{ public class TextValueObject { public string Text { set; get; }