0
長話短說,我需要這樣做:x:類型和數組 - 如何?
ExpressionType="{x:Type sys:Byte[]}"
換句話說,我需要這樣做:
foo.ExpressionType=typeof(byte[]);
笏嗎?
更新:它是2010設計界面中的一個錯誤。它在運行時正常工作。
長話短說,我需要這樣做:x:類型和數組 - 如何?
ExpressionType="{x:Type sys:Byte[]}"
換句話說,我需要這樣做:
foo.ExpressionType=typeof(byte[]);
笏嗎?
更新:它是2010設計界面中的一個錯誤。它在運行時正常工作。
如果沒有辦法做到這一點的框架,那麼您可以編寫自己的標記擴展:
public class ArrayTypeExtension
: MarkupExtension
{
public ArrayTypeExtension() {}
public ArrayTypeExtension(Type type)
{
this.Type = type;
}
public Type Type { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
return Type == null ? null : Type.MakeArrayType();
}
}
用法:
ExpressionType="{local:ArrayType sys:Byte}"
其實只是在做{X:鍵入SYS :Byte []}似乎工作。
恐怕這會最終得到正確答案...... – Will 2010-07-16 20:34:58
@威爾:其實,只是在做'{x:Type sys:Byte []}'似乎對我很有用。當你嘗試時發生了什麼? – Quartermeister 2010-07-16 20:44:30
您不能正確生成錯誤(?!?!)。您應該得到錯誤「未找到類型sys:Byte []」。「它會生成,但運行時會失敗。嘗試添加'DataContext =「{x:輸入sys:Byte []}」'到一個新的WPF表單項目並運行它。 – Will 2010-07-16 20:47:06