XAML 设计师找不到资源
XAML designer can't locate resource
我在共享项目 () 中自定义了控件。
在 运行 时间内一切正常,xaml 设计师却抛出异常:
Cannot locate resource 'mycontrol.xaml'.
加载控件样式时出现问题:
public class MyControl: Control
{
public MyControl()
{
Resources = new ResourceDictionary() { Source = new Uri("pack://application:,,,/mycontrol.xaml") };
Style = (Style)Resources["somekey"];
}
}
为什么它在 运行 时间内有效,而在设计时却无效?
我可以检测到设计时间,但那该怎么办?
WPF 设计器从其他项目加载 xaml 文件时似乎有问题。您能否尝试使用此注释加载 xaml 文件:
pack://application:,,,/PROJECTNAMESPACE;component/mycontrol.xaml
我会试试
Uri res = new Uri("pack://siteoforigin:,,,/mycontrol.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = res });
我在共享项目 (
在 运行 时间内一切正常,xaml 设计师却抛出异常:
Cannot locate resource 'mycontrol.xaml'.
加载控件样式时出现问题:
public class MyControl: Control
{
public MyControl()
{
Resources = new ResourceDictionary() { Source = new Uri("pack://application:,,,/mycontrol.xaml") };
Style = (Style)Resources["somekey"];
}
}
为什么它在 运行 时间内有效,而在设计时却无效?
我可以检测到设计时间,但那该怎么办?
WPF 设计器从其他项目加载 xaml 文件时似乎有问题。您能否尝试使用此注释加载 xaml 文件:
pack://application:,,,/PROJECTNAMESPACE;component/mycontrol.xaml
我会试试
Uri res = new Uri("pack://siteoforigin:,,,/mycontrol.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = res });