- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 .NET 编程的新手,正在尝试学习 Silverlight 2/C#。
我需要声明数字常量(或者更好的是,只读变量),并在 XAML 和我的 C# 代码隐藏文件中访问它们。
这些值在 XAML 中定义更合适,但如果需要在 C# 中完成定义,这比在多个地方对值进行硬编码要好。
我找到了 WPF XAML 的解决方案,但 Silverlight 显然不支持语法(我找到的解决方案要求定义在 C# 文件中)。
TIA!
回复迈克尔
我将此回复添加为对我的原始问题的评论,因为评论编辑器不允许我添加这么多文本,而且我找不到其他方式来回复您的回答。
谢谢你的回答,迈克尔,但我似乎无法让它工作。
我从“Pro Silverlight 2 in c# 2008”中的示例开始。该示例运行良好,但需要我在我的 XAML 中的两个位置和我的 C# 中的一个位置硬编码相同的两个值。
我实现了您的解决方案,并且一切正常,但是当我尝试执行代码时,浏览器出现页面错误。我删除了所有更改,并验证一切再次正常运行。
然后我将 xmlns:sys 声明和 sys:Int32 声明添加到我的 App.xaml 文件中。一切再次运行良好,但是当我尝试在 VS2008 中查看 Page.xaml 文件时,出现了一个奇怪的错误:
未声明的前缀 [行:6 位置:30] – Page.xmal,第 1 行,第 1 列
预览页面是空白的。
Page.xaml 的第 6 行第 30 行没有任何有趣的内容,但在 App.xaml 文件中,该位置包含紧接在整数值 8 之前的结束“>”:
<sys:Int32 x:Key="QAPS">8</sys:Int32>
但是,如果我按 F5,应用程序会在浏览器中正常运行。
我正在运行 VS2008 SP1 和 Mar 09 Silverlight 工具包。
我不明白为什么 App.xaml 应用程序资源部分中的 QAPS 声明可能会导致,特别是考虑到我在应用程序的任何地方都没有引用它。你知道会发生什么吗?
迈克尔的另一个回复
你是对的,我没有将 xmlns:sys 声明添加到我的 Page.xaml,但添加它没有任何区别——我仍然收到“未声明的前缀 [行:6 位置:30]”错误在 Page.xaml 中(应用程序仍在运行)。由于一切运行正常,我想这一定是 VS2008 中的问题。
更大的问题是当我尝试从 C# 访问 QAPS 时遇到运行时异常,我已经弄清楚是我做错了什么导致了它。问题是我显然在资源存在之前访问它。
我已经声明/初始化了一个私有(private)变量来保存类级别的资源值;当我将初始化移至事件处理程序时,问题就消失了。所以我猜测在创建 XAML 资源之前评估 C# 类级别变量。
(顺便说一句,评论的 600 个字符限制真的很痛苦。事实上,我必须编辑我的原始问题才能发表回复)。
最佳答案
将它们放在您的应用程序或页面资源中:
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Application.Resources>
<sys:Int32 x:Key="QPS">8</sys:Int32>
</Application.Resources>
</Application>
然后您可以通过如下代码访问它们:
if (Application.Current.Resources.Contains("QPS"))
{
int callsPerSecond = (int) Application.Current.Resources["QPS"];
}
像这样通过 Xaml
<TextBlock Text="{StaticResource QPS}"/>
关于c# - 如何在 silverlight 中的 xaml 和 c# 之间共享数字常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/845577/
我正在尝试从 F# 编译代码以在 Silverlight 中使用。我编译: --noframework --cliroot "C:\program Files\Microsoft Silverligh
我正在为 Silverlight 安装一个编程环境并试图理顺需要安装的内容,感谢反馈: 在 http://silverlight.net/GetStarted ,第一点允许您安装“ Silverlig
Silverlight RIA 值得学习还是我应该坚持普通的 Silverlight? 背景: 我在 WPF 中做了几个小应用程序 我有 12 年的 VB6/WinForms 模型商业应用经验 我希望
我已经熟悉 Silverlight 编程,但没有任何 GIS 经验。 我作为 Silverlight 开发人员的角色只是显示现有的 GIS 数据。 如果你们有任何经验arcGIS silverligh
我需要在我的 Silverlight 应用程序中创建滚动选取框。选取框需要从右向左滚动。当它完成滚动时,它需要自动重新启动 诀窍是,我需要使用 ItemsControl,因为项目将在滚动时添加到列表中
Silverlight 导航模板在浏览器外运行时是否有效? 最佳答案 当然可以。 并且您可以使用 NavigationServices 函数来创建自定义的“后退”或“前进”按钮 很好的例子:Link
用户通过导航到给定的 URL 在他们的浏览器中启动 Silverlight 应用程序。 然后用户打开另一个浏览器并通过导航到相同的 URL 启动相同的 Silverlight 应用程序。 应用程序的第
Silverlight 4 程序集二进制文件是否与 Silverlight 5 兼容。SL4 程序集是否“在 SL5 运行时中运行”?如果兼容,是否100%兼容。您应该能够在您的 SL5 项目中使用第
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 9年前关闭
我正在寻找是否可以在可以在 application.resources 中设置然后在整个应用程序中使用的 Silverlight 控件中使用应用程序范围的字体。他们不需要指定有关字体的其他内容,例如粗
我正在使用Silverlight4。我想用一个可用字体列表填充组合框。我搜索过很多东西,找不到解决方法。似乎有很多死胡同。五月份曾提出过类似的问题,但没有合适的答案。 当然不是不可能吗? 最佳答案 如
我正在为 Silverlight 很好地实现弱事件模式以避免内存泄漏。 似乎有一些实现,但代码并非微不足道,很难知道哪个是正确的。我找不到微软的任何官方推荐。 如果可能的话,我追求简单的语法。 干杯。
Silverlight 应用程序是在您每次访问该站点时都会下载,还是会检查版本/大小信息并仅下载较新版本的文件? 最佳答案 Silverlight 2 在这方面没有什么特别的,我读过的最简洁的解释来自
我正在尝试在 silverlight 中使用样式触发器,如下所示:
我想尝试制作一个包含多个 Silverlight 画廊中的图片的 asp 网站。我想这样做的原因是我想要这样的东西: Text describing some places. Gallery with
WPF 3.5 有 PresentationTraceSources用于诊断和WPFPerf用于性能和数据绑定(bind)诊断。 Silverlight 是否有等效的工具/库? 最佳答案 尽管我已将
我有一个表示有向图的数据结构,我正在寻找一个好的 Silverlight 可视化,以允许我从一个节点导航到另一个节点,最好有一些漂亮的动画。 有没有人知道这种显示的任何好的 UI 控件或框架?甚至来自
我可以将byte []转换为图像: byte[] myByteArray = ...; // ByteArray to be converted MemoryStream ms = new Memo
我有多个Silverlight项目,希望使用相同的样式,配色方案和一些模板化对象。 我该如何完成? 最佳答案 一种实现方法是创建一个新的silverlight类库,该库将是您共享的主题/样式程序集,其
我正在尝试使用 SLLAUNCHER.EXE 启动已安装的 SL Out-of-Browser App。运行以下命令后,桌面上的 MyApp 启动图标就消失了。如果我在没有覆盖开关的情况下尝试它,则不
我是一名优秀的程序员,十分优秀!