我愿享有<条码>。 ResourceDictionary +StaticResource
Function, but without the need toload PresentationFramework - Inclusive System. Xaml。
我非常容易地把资源财产界定为一种词典,但我需要一种方式来提及那里的项目,即: 我需要<代码>StaticResource。 我看着这个词,似乎取决于WindowsBase和DonFramework的 st。
我不禁要问,是否还有另一种方式,却不忽略介绍框架。 我也理解,我可以从介绍框架中复制所有相关守则,只剩下最低限度支持所需功能——这是我最后的手段。
这里我直到现在才:
using System.Collections.Generic;
using System.Windows.Markup;
using System.Xaml;
namespace ConsoleApplication1
{
[ContentProperty("Items")]
public class XamlDictionary<TKey, TValue> : Dictionary<TKey, TValue>
{
public ICollection<KeyValuePair<TKey, TValue>> Items
{
get { return this; }
}
}
public class A
{
private XamlDictionary<string, int> m_resources;
public XamlDictionary<string, int> Resources
{
get
{
if (m_resources == null)
{
m_resources = new XamlDictionary<string, int>();
}
return m_resources;
}
set { m_resources = value; }
}
public int Value { get; set; }
}
class Program
{
static void Main(string[] args)
{
var a = (A)XamlServices.Load("A.xaml");
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<l:A xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:l="clr-namespace:ConsoleApplication1;assembly=ConsoleApplication1"
Value="15">
<l:A.Resources>
<sys:Int32 x:Key="ssss">10</sys:Int32>
</l:A.Resources>
</l:A>
迄今为止,一切都很好。 现在我想改动Xaml,以便A.Value
reference the A.Resources[sss”
Value,在此,我需要StaticResource
替代物。