Si vous voulez que ce membre soit databindable par Winform ou WPF, je crois que vous devez le déclarer comme propriété. Je suis environ 95 pour cent positif que la liaison de données nécessite une propriété (getter/syntaxe de réglage). J'ai une petite solution wpf qui le démontre, mais je ne vois pas un moyen de l'attacher ici.
Voici le code: (construit avec VS 2008 SP1, ciblant .net 3.5 - J'ai utilisé un projet WPF). Le projet WPF contient deux éléments, la fenêtre principale (window1) et l'objet que nous testons (DataObject) Il existe une étiquette sur la fenêtre qui est databound à la propriété Name dans une instance d'objet de données. Si vous convertissez la propriété Name en champ (supprimez le getter/setter), la liaison de données cessera de fonctionner.
Fenêtre1.XAML:
<Window x:Class="WpfDatabinding.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Label Name ="Label1" Height="28" Margin="12,24,37,0" VerticalAlignment="Top" Content="{Binding Name}"></Label>
</Grid>
Window1.xaml.cs
using System;
using System.Windows;
namespace WpfDatabinding
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
private DataObject ADataObject;
public Window1()
{
InitializeComponent();
this.ADataObject = new DataObject();
this.ADataObject.Name = "Hello!";
this.DataContext = this.ADataObject;
}
}
}
namespace WpfDatabinding
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
private DataObject ADataObject;
public Window1()
{
InitializeComponent();
this.ADataObject = new DataObject();
this.ADataObject.Name = "Hello!";
this.DataContext = this.ADataObject;
}
}
}
DataObject.cs:
namespace WpfDatabinding
{
public class DataObject
{
// convert this to a field, and databinding will stop working
public string Name
{
get;
set;
}
}
}
duplication possible de [Si vous utilisez les propriétés d'accesseur de la classe, ou juste de l'extérieur de la classe?] (Http://stackoverflow.com/questions/476021/should-you-use-accessor-properties-from -dans la classe-ou-juste-de-dehors-o) – nawfal