Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Wpf:使用xaml中的参数初始化类_C#_Wpf_Xaml - Fatal编程技术网

C# Wpf:使用xaml中的参数初始化类

C# Wpf:使用xaml中的参数初始化类,c#,wpf,xaml,C#,Wpf,Xaml,我的WPF应用程序有问题 我用这个构造函数创建了这个类: public partial class FenetreMenu : UserControl { public FenetreMenu(CDataJoueurs donneesBase) { Données = donneesBase; InitializeComponent(); Initialisation(); } //... 在我的xaml代码中,我尝试过这

我的WPF应用程序有问题

我用这个构造函数创建了这个类:

public partial class FenetreMenu : UserControl
{
    public FenetreMenu(CDataJoueurs donneesBase)
    {
        Données = donneesBase;
        InitializeComponent();
        Initialisation();
    }
//...
在我的xaml代码中,我尝试过这样做:

<local:FenetreMenu x:Name="FenetreMenu" HorizontalAlignment="Left" Height="700" 
   VerticalAlignment="Top" Width="1119" Visibility="Hidden"/>

但是它不起作用,我不能把一个有参数的类放在它的构造函数中


如何解决问题?

将参数放在属性中:

public partial class FenetreMenu : UserControl
{
    public FenetreMenu()
    {
        InitializeComponent();
        Initialisation();
    }

    public CDataJoueurs Données { get; set; }
//...
然后

<local:FenetreMenu x:Name="FenetreMenu" HorizontalAlignment="Left" 
  Height="700" VerticalAlignment="Top" Width="1119" Visibility="Hidden" Données="..." />

我已经这样做了,但我不想创建类的新实例,因为类CDataJouers与其他UserControl共享其属性,所以我必须将(CDataJouers Données)放在类Fenetremeu的构造函数上。请问您还有别的办法吗?:)您是说您有一个CDataJouers实例,您希望在UserControl的所有实例中使用它吗?在这种情况下,可以将该实例作为静态参数提供。您必须创建一个实例,并将其放在某个新的公共静态属性中。不,我只有一个实例,我想在2 UserControl中使用它。好的,在这种情况下,您可以使用静态属性“注入”一个实例,如我上面所示。相同的主题是什么?我已经搜索过了,但我没有找到。。。
{x:Static CDataJoueurs.Instance}