C# WinRT上的自定义ResourceDictionary在运行时或设计时工作
我使用了来自的想法,并试图将其应用到WinRT应用程序中。但不幸的是,它要么在设计时不起作用,要么在运行时不起作用 如果源属性是C# WinRT上的自定义ResourceDictionary在运行时或设计时工作,c#,windows-runtime,winrt-xaml,C#,Windows Runtime,Winrt Xaml,我使用了来自的想法,并试图将其应用到WinRT应用程序中。但不幸的是,它要么在设计时不起作用,要么在运行时不起作用 如果源属性是字符串,则它在设计模式下不起作用,并且Visual Studio显示错误消息“无效URI:无法确定URI的格式” 如果源的类型为URI它在设计模式下工作,但我在运行时遇到一个异常:“未能分配给属性源” 在这两种情况下都能工作吗 public class DesignTimeResouceDictionary : ResourceDictionary { // wo
字符串,则它在设计模式下不起作用,并且Visual Studio显示错误消息“无效URI:无法确定URI的格式”
如果源的类型为URI
它在设计模式下工作,但我在运行时遇到一个异常:“未能分配给属性源”
在这两种情况下都能工作吗
public class DesignTimeResouceDictionary : ResourceDictionary
{
// works at run-time
public new string Source {
get {
return base.Source.ToString();
}
set {
if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
base.Source = new Uri(value);
}
}
// works at design time
public new Uri Source {
get {
return base.Source;
}
set {
if (Windows.ApplicationModel.DesignMode.DesignModeEnabled)
base.Source = value;
}
}
}
App.xaml中的用法:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<local:DesignTimeResourceDictionary Source="OnlyForDesignTime.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResouceDictionary>
所以我不知道两个属性的名称是否相同。也许是“设计源”和“源”?如果是这种情况,那么字符串属性就不需要“new”。进一步考虑后,我想知道Source是否有一个在运行时未被触发的私有依赖属性。