我有一个没有无参数构造函数的用户控件;让我们称之为WithoutDefaultConstructor
。我想将WithoutDefaultConstructor
调用myControl
插入另一个控件(称为)的 XAML 代码中MainWindow
。但是,我收到此编译器错误:
“WithoutDefaultConstructor”类型不能有 Name 属性。值类型和没有默认构造函数的类型可以用作 ResourceDictionary 中的项。
如何在不添加无参数构造函数的情况下解决此问题WithoutDefaultConstructor
?
以下是 的内容MainWindow.xaml
:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WpfApplication1="clr-namespace:WpfApplication1" Title="MainWindow"
Height="350" Width="525">
<WpfApplication1:WithoutDefaultConstructor Name="myControl">
</WpfApplication1:WithoutDefaultConstructor>
</Window>
以下是 的内容WithoutDefaultConstructor.xaml.cs
:
using System.Windows.Controls;
namespace WpfApplication1
{
public partial class WithoutDefaultConstructor : UserControl
{
private int I_really_need_to_initialize_this_int;
public WithoutDefaultConstructor(int i)
{
InitializeComponent();
I_really_need_to_initialize_this_int = i;
}
}
}