c# - x :TypeArguments 中的可空类型

标签 c# wpf xaml

是否可以将可空类型传递给 XAML 泛型类型参数 (x:TypeArguments)?

我有:

 <base:ControlBase
  x:TypeArguments="sys:Int32"
  ...

我需要 Int32 可以为 null.. 类似

<base:ControlBase
  x:TypeArguments="sys:Nullable<sys:Int32>"
 ...

这似乎是无效的 XML/XAML。

我也尝试将其声明为 sys:Nullabe<sys:Int32>,但错误是:

'sys.Nullable' is not a valid type name reference for the generic argument

最佳答案

不,不幸的是,这是不可能的。你需要创建一个中间类来克服这个问题(我已经尝试了所有可能的方法,它就是不起作用)。

<base:NullableInt32ControlBase ... >

其中 NullableControlBase 是中间类:

public class NullableInt32ControlBase : ControlBase<int?>
{ }

关于c# - x :TypeArguments 中的可空类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431590/

相关文章:

C# - 将 excel 数据复制到数组中的方法

c# - Entity Framework 只保存最后一行(主要细节)

c# - 为什么这个 XML 在不应该进行验证时进行验证?

.net - TreeView 虚拟化

xaml - Windows 应用商店应用程序分层导航模板 makepri 编译错误

c# - 将 ViewModel 传递给 UserControl

c# - 如何在 C# 中按类型创建动态委托(delegate)对象?

c# - WPF 数据绑定(bind) : database or objects?

c# - 在 Caliburn Micro 中进行多个窗口的正确方法?

c# - 向图像添加行为