WPF:動態載入xaml物件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.IO; using System.Xml; using System.Windows.Markup; /* * 功能:測試WPF中動態載入XAML中的控制元件 * 並加到指定的子節點中。 * 作者:Kagula * 時間:2012-09-20 * 環境:VS2008 .NET FRAMEWORK 3.5 * 參考資料:[1]《Application=Code+Markup 讀書筆記 19》 * http://space.itpub.net/15123181/viewspace-423015 * [2]《Pack URIs in Windows Presentation Foundation》 * http://technet.microsoft.com/en-US/library/aa970069(v=vs.90) */ namespace testXAMLLoad { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); //LoadEmbeddedXaml(); //LoadEmbeddedXaml2(); LoadEmbeddedXaml3(); } //從字串中載入 public void LoadEmbeddedXaml() { Title = "Load Embedded Xaml"; string strXaml = "<Button xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'" + " Foreground='LightSeaGreen' FontSize='16pt' Width='128' Height='32'>" + " From String Object!</Button>"; StringReader strreader = new StringReader(strXaml); XmlTextReader xmlreader = new XmlTextReader(strreader); object obj = XamlReader.Load(xmlreader); grid1.Children.Add((UIElement)obj); } //從外部檔案中載入 Button控制元件 public void LoadEmbeddedXaml2() { XmlTextReader xmlreader = new XmlTextReader("d:\\a.xaml"); UIElement obj = XamlReader.Load(xmlreader) as UIElement; grid1.Children.Add((UIElement)obj); } //從資原始檔中載入 public void LoadEmbeddedXaml3() { //Build Action = Resource,Do not Copy,無相應cs檔案 Uri uri = new Uri("/LoadXamlResource.xaml",UriKind.Relative); Stream stream =Application.GetResourceStream(uri).Stream; //FrameworkElement繼承自UIElement FrameworkElement obj =XamlReader.Load(stream) as FrameworkElement; grid1.Children.Add(obj); } } }
//建立檔案,讀取3.xaml檔案的內容 static FileStream fs = new FileStream("3.xaml", FileMode.Open, FileAccess.Read); /* 呼叫XamlReader的//Load方法,從上面的檔案流中建立3D物件, * 由於3.xaml的根節點是ViewPort3D,所以這裡建立的是ViewPort3D */ Viewport3D vp2 = (Viewport3D)System.Windows.Markup.XamlReader.Load(fs); //建立一個新視窗 Window anew=new Window(); //將新視窗的Content屬性設為vp2,型別為ViewPort3D anew.Content=vp2; /* some code of window property */ anew.show(); //顯示新視窗
相關推薦
WPF:動態載入xaml物件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Con
WPF中動態載入XAML中的控制元件
原文: WPF中動態載入XAML中的控制元件 using System; using System.Collections.Generic; using System.Linq; using System.Text;
XamlReader 動態載入XAML
原文: XamlReader 動態載入XAML XAML: <Grid xmlns:x="http://schemas.microsoft.com/client/2006" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/present
Winphone開發之動態載入XAML
XAML是可以動態載入的,這裡所說的動態載入就是說寫好了一個靜態XAML,然後在執行時用C#載入到相應的地方去。 動態載入XAML注意的幾點: 1)待載入的XAML只能有一個根節點,也就是說不能有多個
動態載入XAML檔案(2)
C#程式碼部分 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Co
WPF:動態載入控制元件並設定樣式
這個問題想了一下午,網上查找了一些資料。終於解決了。拿出來晒一下,希望能夠幫助到你們。 下面這個例子是動態新增的TextBlock控制元件,面板是StackPanel,如下: TextBlock tb = (TextBlock)XamlToObj("<TextBl
jquery監聽動態載入的物件的click方法
$(document).on('click','.swiper-btn',function(){ $('.swiper-current').attr('class','swiper-btn s
WPF中Style檔案的引用——使用xaml程式碼或者C#程式碼動態載入
WPF中控制元件擁有很多依賴屬性(Dependency Property),我們可以通過編寫自定義Style檔案來控制控制元件的外觀和行為,如同CSS程式碼一般。 總結一下WPF中Style樣式的引用方法: 一、內聯樣式 直接在控制元件
動態載入Dll時,通過Type生成類物件
原文: 動態載入Dll時,通過Type生成類物件 轉:http://www.cnblogs.com/zfanlong1314/p/4197383.html “反射”其實就是利用程式集的元資料資訊。 反射可以有很多方法,編寫程式時請先匯入 System.Reflection 名稱空間。
WPF中動態載入資料
<!--動態生成一組按鈕--> <StackPanel> <ItemsControl ItemsSource="{Binding Picture}">
Unity3D-動態讀取配置檔案,載入遊戲物件
private Dictionary<int,T> LoadConfig<T>(string fileName) where T : class,new() {
WPF 後臺動態載入UserControl的一種方法
今天在看以前的專案時看到前輩們在後臺載入UserControl的一種方法:1.在前臺建一個Contentcontrol,Name="ctr1"。2.寫一個函式,如下:public Object CreatUsercontrol(){ string ctrName=
動態載入類並例項化物件
一、Class.forName("").newInstance();用於工廠真的是挺好的 1. Class.forName( )靜態方法的目的是為了動態載入類(初始化類)。在載入完成後,一般還要呼叫Class下的newInstance( )靜態方法來例項化物件以便操作。因此
Android中apk動態載入技術研究(2)android插件化及實現
name creat package path iss fontsize 調用 dex con 了解了android中類載入的前期知識點後,來看看android中DexClassLoader詳細的實現 詳細載入流程例如以下: 宿主程序會到文件系統比
查看WPF 應用程序XAML結構DOM樹
pla soft spec 代碼 ant es2017 ext 設置斷點 ins 當我們看到一些設計新穎的網站時,可以借助瀏覽器自帶的Inspector 工具或插件方便的瀏覽網站布局結構及邏輯。如果是WPF 應用程序能否看到控件的架構方式呢?本篇將介紹兩款工具Snoop 和
喜羊羊系列之【設備-驅動 動態載入進內核】
popu error 驅動 abi free -s map .net obj 博客:http://blog.csdn.net/muyang_ren 這篇和設備驅動編
動態載入DLL所需要的三個函數詳解(LoadLibrary,GetProcAddress,FreeLibrary)
包含 設計 應用程序 執行文件 lib 通過 不同的 將不 width 動態載入 DLL動態載入方式是指在編譯之前並不知道將會調用哪些 DLL 函數, 完全是在運行過程中根據需要決定應調用哪些函數。方法是:用 LoadLibrary 函數加載動態鏈接庫到內存,用 GetPr
ajax 動態載入html後不能執行其中的js解決方法
cti 寫入 match IT 通過 如果 frame tro 其他 事件背景 有一個公用頁面需要在多個頁面調用,其中涉及到部分js已經寫在了公用頁面中,通過ajax加載該頁面後無法執行其中的js。 解決思路 1. 采用附加一個iframe的方法去執行js,為我等代碼潔癖者
WPF 動態模擬CPU 使用率曲線圖
cap handle ati images row sage 動態演示 導入 ane 原文:WPF 動態模擬CPU 使用率曲線圖 在工作中經常會遇到需要將一組數據繪制成曲線圖的情況,最簡單的方法是將數據導入Excel,然後使用
劍走偏鋒,JavaScript指令碼動態載入DLL
目前網上公佈通過JavaScript等指令碼載入DLL動態連結庫的方法有2種,一種是利用Excel.Applicationobject's RegisterXLL()進行DLL載入,另一種是James Forshaw開源的工具DotNetToJScript,這2種方式都非常巧妙,但是也存在一定的