程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> WPF中,怎樣將XAML代碼加載為相應的對象?

WPF中,怎樣將XAML代碼加載為相應的對象?

編輯:.NET實例教程
在前面“在WPF中,如何得到任何Object對象的XAML代碼?”一文中,我介紹了使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object對象的XAML代碼。,那麼,又怎樣將XAML代碼加載為相應的對象呢?

分兩種情況來講這個問題:

1、在程序中,XAML代碼已是內存字符串時
比如:
string xamlContent =@"<Button Height=""50"" Width=""100"" Background=""#FFF0F8FF"" XMLns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation"">Click Me</Button>";
那麼,我們可以直接使用StringReader和XMLReader:
StringReader stringReader = new StringReader(xamlContent);
XMLReader xmlReader = XMLReader.Create(stringReader);
Button readerLoadButton = (Button)XamlReader.Load(XMLReader);

注意:需要顯式地將對象轉換為相應的類型。比如這裡使用了(Button)進行顯示轉換。

2、加載的是包含XAML代碼的文件
        string xamlFileName = @"c:\myButton.xaml";
        string xamlContent = string.Empty;
        try
        {
            using (StreamReader sr = new StreamReader(xamlFileName))
            {
                xamlContent = sr.ReadToEnd();
            }
        }
        catch (Exception e)
        {
          //
        }

        // 以下同上
        StringReader stringReader = new StringReader(xamlContent);
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved