我正在编写Windows 8.1手机运行时应用程序.我的资产中有一个包含Xaml内容的文件.当按下按钮时,我要按照文件中Xaml的定义创建Stackpanel的内容.我仔细搜索了一下,发现我们可以读取一个字符串中的Xaml文件,并将其传递...
我正在编写Windows 8.1手机运行时应用程序.我的资产中有一个包含Xaml内容的文件.当按下按钮时,我要按照文件中Xaml的定义创建Stackpanel的内容.
我仔细搜索了一下,发现我们可以读取一个字符串中的Xaml文件,并将其传递给XamlReader类,该类随后可用于将新的Xaml分配给StackPanel.我指的是here,代码也写在下面.
string xaml =
"<Ellipse Name=\"EllipseAdded\" Width=\"300.5\" Height=\"200\"
Fill=\"Red\" \"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"/>";
object ellipse = XamlReader.Load(xaml);
//stackPanelRoot is the visual root of a Page in existing XAML markup already loaded by the appmodel
stackPanelRoot.Children.Add(ellipse as UIElement);
//walk the tree using XLinq result and cast back to a XAML type to set a property on it at runtime
var result = (from item in stackPanelRoot.Children
where (item is FrameworkElement)
&& ((FrameworkElement) item).Name == "EllipseAdded"
select item as FrameworkElement).FirstOrDefault();
((Ellipse) result).Fill = new SolidColorBrush(Colors.Yellow);
但是我的问题是XamlReader类在Windows 8.1电话运行时应用程序中不可用.我正在使用Visual Studio2013.在Windows 8.1电话运行时应用程序中找到了一个名为Windows.UI.Xaml的命名空间.
谁能指导我如何实现在Windows Phone 8.1运行时加载新Xaml的功能.
解决方法:
XamlReader在Windows Phone 8.1 Silverlight应用程序和Windows Phone 8.1 Store应用程序上均可用:
>在Windows Phone 8.1 Silverlight应用程序上:
System.Windows.Markup.XamlReader
>在Windows Phone 8.1商店中
应用:Windows.UI.Xaml.Markup.XamlReader
本文标题为:C#-在Windows 8.1运行时应用程序中动态加载Xaml
基础教程推荐
- Unity实现轮盘方式的按钮滚动效果 2023-01-11
- UnityUI中绘制线状统计图 2023-05-30
- C#委托用法详解 2023-05-22
- C# IQueryable<T>揭开表达式树的神秘面纱 2023-04-15
- WPF实现多运算符表达式计算器 2023-03-14
- C#实现文字视频生成器的示例代码 2023-07-04
- Unity UI或3D场景实现跟随手机陀螺仪的晃动效果 2023-02-02
- 5分钟用C#实现串口助手 2023-06-22
- C#圆形头像框制作并从数据库读取 2023-04-27
- c#调用c语言dll需要注意的地方 2023-04-10