初学silverlight有个小问题请教,请进

aierda 2011-12-15 11:42:25

这里提示说缺少程序集引用
但是我已经在此后台程序中已经写好了NumberConverter类了,而且是public类型的
我是不是少做了什么工作呢?哪位大哥有时间帮帮忙,行不
...全文
142 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyilin888 2012-06-25
  • 打赏
  • 举报
回复
silverlight不支持DynamicResource
幸福小6 2011-12-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 aierda 的回复:]

总算解决了,原来要把
C# code

<UserControl.Resources>
<local:NumberConverter x:Key="NumberConverter" />
</UserControl.Resources>


这段代码往上移,移到引用这个资源的地方的上方才行,
否则会因为找不到资源而报错了,这也太不智能了吧。。。。
[/Quote]
因为你使用的是静态资源,必须在使用前定义,如果在使用后定义的话,需要使用动态资源DynamicResource。
你要是早点贴出完整点的code,早就解决了。
aierda 2011-12-15
  • 打赏
  • 举报
回复
感谢大家的指点,小弟现在结贴去
aierda 2011-12-15
  • 打赏
  • 举报
回复
总算解决了,原来要把

<UserControl.Resources>
<local:NumberConverter x:Key="NumberConverter" />
</UserControl.Resources>

这段代码往上移,移到引用这个资源的地方的上方才行,
否则会因为找不到资源而报错了,这也太不智能了吧。。。。
fallincloud 2011-12-15
  • 打赏
  • 举报
回复

namespace CommonWPFApp
{
public class TestConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

<Window x:Class="CommonWPFApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CommonWPFApp"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<local:TestConverter x:Key="TestConverter"></local:TestConverter>
</Window.Resources>
</Window>
fallincloud 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 aierda 的回复:]

引用 6 楼 fallincloud 的回复:
xmlns:local="clr-namespace:myproject"
myproject要写成你的工程名称啊

这个没错,是我的工程名称.
[/Quote]NumberConverter 是在哪个命名空间的?
aierda 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fallincloud 的回复:]
xmlns:local="clr-namespace:myproject"
myproject要写成你的工程名称啊
[/Quote]
这个没错,是我的工程名称.
fallincloud 2011-12-15
  • 打赏
  • 举报
回复
xmlns:local="clr-namespace:myproject"
myproject要写成你的工程名称啊
aierda 2011-12-15
  • 打赏
  • 举报
回复
xmlns:local="clr-namespace:myproject"
我已经加了空间引用了。还要加StaticResource?
怎么加呢?小弟初学,请大哥能够略加指点
幸福小6 2011-12-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 aierda 的回复:]

命名空间我已经引用了,但是却出现了另外一个奇怪的问题
我的NumberConverter类是这样写的
C# code

public class NumberConverter : IValueConverter
{
static String zhNum = "〇一二三四五六七八九";
public object Convert(object value, Type ta……
[/Quote]
你怎么使用这个Convert的?有加StaticResource吗?
aierda 2011-12-15
  • 打赏
  • 举报
回复
命名空间我已经引用了,但是却出现了另外一个奇怪的问题
我的NumberConverter类是这样写的

public class NumberConverter : IValueConverter
{
static String zhNum = "〇一二三四五六七八九";
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
String s = "";
foreach (Char c in value.ToString())
if (c >= '0' && c <= '9')
s += zhNum[c - '0'];
return s;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

起初我以为是key值写错了,然后换成x:Key="Converter",但是还是报一样的错
还是说“找不到Name/Key为numberConverter的资源”,就算我重新生成解决方案
都是一样的错,按道理也不应该报“找不到Name/Key为numberConverter的资源”,
应该报“找不到Name/Key为Converter的资源"啊,这是怎么回事呢?
Architecture Net 2011-12-15
  • 打赏
  • 举报
回复
xmlns:local="clr-namespace:SilverlightApplication3"
其中SilverlightApplication3替换为你的NumberConverter的命名空间。即可使用。
kingdom_0 2011-12-15
  • 打赏
  • 举报
回复
local是xaml命名空间,你没有引用.

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧