问题标签 [silverlight-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4872 浏览

vb.net - Silverlight 按钮点击事件

我有一个带有文本块和按钮的 silverlight 页面。像这样:

这是单击事件的处理程序:

它有效......但是......为什么这不起作用?

唯一的变化是文本块和按钮的相对位置。除非文本块在 xaml 中的按钮之前,否则按钮的单击事件(以及我尝试过的所有其他事件)不会触发。

0 投票
2 回答
2998 浏览

c# - 更改 ItemsSource 后,如何让 Silverlight ComboBox 调整下拉列表的大小?

网上有很多关于此问题的帖子,其中 ComboBox 仅更改其下拉高度以适应其第一个下拉列表中的项目。对所示项目的任何更改都不会导致下拉菜单调整大小。我发现的各种解决方法似乎对我不起作用,所以我想知道是否有人找到了解决这个问题的方法。

我当前的选择是使用 MinHeight 并将其设置为合理的大小(如果我设置 MinHeight 和 MaxHeight,我会遇到与设置 Height 相同的问题 - 当项目超出范围时没有滚动条。

我试过改变物品的容器,但似乎它们都有这个问题。有任何想法吗?

请注意,每当我按照几个论坛的指示更改 ItemsSource 时,我也尝试以编程方式重新创建组合,但我无法让它在不崩溃的情况下工作。

0 投票
1 回答
537 浏览

c# - 如果被绑定的实例未在 Silverlight 2 中实现 INotifyPropertyChanged,您如何使用双向绑定?

我正在尝试在 Silverlight 2 中编写一个相当简单的用户控件,它允许用户搜索现有地址、可选地更新所选地址并添加新地址。

为此,我整理了一个简单的 WCF 服务,允许进行简单的查询,我目前正在将其连接到一个文本框、列表框组合(很快将被 Silverlight 工具包中的 AutoCompleteBox 替换)。

我的问题更多的是理解,我的服务的返回类型是 IList<Address> 类型并且 Address 没有实现 INotifyPropertyChanged 并且它似乎不适合从服务返回的对象(也可能被其他客户端调用)加入 SL2 特定功能。促进双向绑定以编辑现有地址的最佳方法是什么。

基本思想如下:

  1. 用户在文本框中输入信息
  2. 调用服务以检索匹配地址 IList<Address>,该地址在我的服务的 Reference.cs 中作为 ObservableCollection<Address> 返回
  3. 返回值设置为列表框的 ItemSource
  4. 用户选择正确的地址并表示需要更新
  5. 绑定到包含多个文本框的控件容器的地址实例

本质上,我希望绑定文本框中的任何更改都自动反映在 Address 实例中,但是没有 INotifyPropertyChanged 这将如何工作?我是否必须在我的 SL2 应用程序中创建另一个类来有效地覆盖我的服务数据对象的属性实现?

那里的任何人都可以为我指出正确的方向,因为这对我来说没有意义......

干杯,

史蒂夫

0 投票
2 回答
872 浏览

silverlight - UserControl.InitializeComponent() 中的间歇性 InavlidCastException

这是设置:

我有一个 Silverlight 控件库“控件”,其中定义了一个用于呈现对话框的客户控件:

默认样式也在 generic.xaml 中:

我在很多地方都使用这个对话框没有问题。但是,在一个应用程序中,从 RootVisual 中嵌套了大约 3-4 个用户控件,我使用它的方式如下:

当我运行此应用程序时,我会间歇性地运行(大约每 5-10 次启动会出现以下异常:

“无法将类型的对象System.Windows.Controls.ContentControl转换为 type hookitupright.com.silverlight.controls.general.Dialog。” 发生在上述 XAML InitializeComponent()的父级中。UserControl

具体来说,它发生在这里:

当我在那里放置断点时,大多数情况下 FindName 返回一个 Dialog 类型的对象,但有时,它返回一个 ContentControl(Dialog 的基础)并且失败。XAML 没有改变。它是静态的......由于异常是间歇性的并且发生在生成的代码中,我很茫然。

我试过了:

  1. 将 Dialog 的所有内容移动到单独的 UserControl 中 - 似乎只会让问题变得更糟
  2. 注释掉部分,看看它什么时候起作用......好吧,如果我完全注释掉 TextBox,它就不再失败了。其他所有内容(包括自定义验证附加属性)似乎都没有影响。

    2a。认为这可能与 TextBox 的 TwoWay 绑定有关,我删除了绑定。还是失败。

更新:因此,鉴于上面的 (2),我离开了已注释掉的文本框,决定继续做其他事情,然后回到这里,希望有些事情会向我展示。不幸的是,它似乎也因文本框而失败,只是频率较低。

此外,我在同一个应用程序的另一个用户控件中(并且在 VisualTree 中的同一级别)的另一个用户控件中具有完全相同的配置,并且它根本不会失败。因此,我从字面上将失败的 XAML 复制并粘贴到 Main.xaml(我的根视觉对象)中,当然,它也不会在那里失败。假设 XAML 按顺序(从上到下)加载,失败的控件可能是最后加载的控件之一。我现在唯一的假设是发生了一些时间问题,当我仍在加载可视化树时,我开始从通过 WCF 服务加载数据中获取 *Completed 事件,并且这些事件会在可视化树之前触发布局满载会导致一些不良副作用......我会测试一下。

问题是它不会每次都失败。它大约有 20% 的时间会爆炸。当它工作时,即使这个对话框也能正常工作?

如果不是同一个问题,这个问题是相关的:当我通过注释掉所需的功能来“修复”无效转换时,我将不那么频繁但间歇性地获得这个无效属性(当属性/属性实际上存在时)。

0 投票
2 回答
925 浏览

silverlight - 动态数据模板切换

我正在尝试实现与以下帖子中所示相同的行为。问题是这篇文章解决了 WPF 的问题。

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/4fd42590-8375-46d0-b7bc-6c217df0f0ba/

关于如何在 Silverlight 2.0 中执行此操作的任何想法?

谢谢克里斯

0 投票
1 回答
2872 浏览

silverlight - ContentPresenter 丢失 DataContext

我想创建一个“FlipPanel”,它提供同一对象的两个不同视图。这是我正在采取的方法。

这是主页,它由一个 ItemsControl 组成,它的 ItemTemplate 是一个 FlipPanel。FlipPanel 公开了两个属性,它们定义了用于 Front 和 Back 的 DataTemplate。

主页的后面的代码非常简单,因为它只是将 ItemsControl 的 DataContext 设置为测试数据列表。

FlipPanel 代码也相对简单,因为它尝试根据 Side DependencyProperty 更改 DataTemplate。问题似乎是 ContentPresenter 的 DataContext 在某些时候丢失了。在代码中,我有两条注释指示 ContentPresenter 的 DataContext 的有效性。

有任何想法吗?

我不确定这是否是解决我的要求的正确方法,如果有更好的方法,我会欢迎任何进一步的建议。

谢谢

0 投票
2 回答
374 浏览

silverlight - Silverlight Web 项目在调试时显示安装图标

当我将 Silverlight 项目添加到空白解决方案时,它会询问我是要添加 Web 项目来托管 silverlight 页面还是自动生成测试页面。奇怪的是,当我自动生成一个测试页面时,一切都很好。但是,当我添加 Web 项目时,我遇到了问题。

我首先收到一条错误消息,说它需要 web 的 bin 文件夹中的 System.Web.Silverlight.dll,所以我这样做了。然后当我运行它时,我得到的只是“安装 Silverlight”图标。我尝试过使用和/或删除最低版本标签和版本标签,但我似乎无法让它以这种方式工作。

以前有人遇到过这个问题吗?如果是这样,你是如何绕过它的?

0 投票
1 回答
374 浏览

c# - 托管 SilverLight 网站

我是网络开发新手,正在寻求帮助:-)

我按照银光教程构建了一个基本的银光应用程序。

http://weblogs.asp.net/scottgu/pages/silverlight-2-end-to-end-tutorial-building-a-digg-search-client.aspx

然后我在aspspider上托管了这个应用程序。我现在已经修改了应用程序以连接到 SQLExpress Db。这使用“WCF 服务”和“Linq to sql 类”来执行数据库搜索。这一切都在 Visualstudio 中完美运行,但是我不确定如何使其在 aspSpider 主机中运行。

到目前为止,我已经成功地连接了 Db,并让银灯 xap 工作。但显然,当我单击网站中的搜索按钮时,由于服务失败,我得到一个空白屏幕。

任何帮助都会很棒!

Bellow 是项目中的文件列表。

0 投票
4 回答
8500 浏览

silverlight-2.0 - Silverlight:强制 Canvas 使其自身无效或重绘?

我有一个 Silverlight 应用程序,上面有一个 Canvas。在那个画布上,我动态地“绘制”了一堆东西,但在画布上添加了控件。

我在 Canvas 区域外有一个按钮,用于清除内容。对象被移除(成功)。但是,Canvas 区域不会立即自行刷新;它目前需要画布本身的 MouseOver 或其他事件。

让外部对象使 Canvas 无效的最简单方法是什么?我确定我错过了一些简单的东西!

0 投票
1 回答
2886 浏览

silverlight - 如何在 MouseEnter 上设置列表框项的 ZIndex?

我在 MouseOver 上的列表框中的项目有不同的样式,这会产生轻微的缩放效果。这很好用,但是由于 ZIndex 是按照将项目添加到 ListBox 的顺序设置的,因此缩放的项目将被绘制在下一个项目的后面。我想将其设置为使缩放的项目位于顶部。

我试过创建一个 MouseOver 事件处理程序,并像这样设置 ZIndexProperty

这不起作用,如果我检查 ZIndex 而不设置它,我总是得到 0 所以就像我没有看到正确的值一样。如何修改正确的 ZIndexProperty?