Linq to XMLを使用して一部のXAMLでx:Keyを設定しようとしているので、データテンプレートのリソースディクショナリに値コンバーターを追加できます。
XNamespace xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
XNamespace local = "clr-namespace:App,assembly=App";
XElement dt = new XElement(xmlns + "DataTemplate",
new XAttribute(XNamespace.Xmlns + "x", "http://schemas.microsoft.com/winfx/2006/xaml"),
new XAttribute(XNamespace.Xmlns + "local", "clr-namespace:App,assembly=App"),
new XElement(xmlns + "DataTemplate.Resources",
new XElement(local + "MyConverter",
new XAttribute("x:Key", "myConverter"))));
ただし、これにより、属性名に「:」が許可されていないという例外が発生します。別のものを使用しXNamespace x = "http://schemas.microsoft.com/winfx/2006/xaml"
て書くx + "Key"
ことも機能しません-それはを与えp3:Key
ます。
XAttribute
名前にコロンを含める方法はありますか?