मैं पर काम कर रहा हूँ एक आवेदन 20 ग्राफिक बटन नियंत्रण में एक MainWindow (Button1 के लिए Button20). प्रत्येक बटन नियंत्रण प्रदर्शित कर सकते हैं एक सामग्री स्ट्रिंग, और एक टूलटिप के रूप में डिजाइन का पालन करें :
<Button x:Name="button1" FontWeight="Bold" FontSize="15" Content="" HorizontalAlignment="Left" Margin="20,69,0,0" VerticalAlignment="Top" Width="92" Height="29" Click="Button_Click" Background="#FFFFFFFF" MouseEnter="button_MouseEnter">
<Button.ToolTip>
<Border Margin="-4,0,-4,-3" Padding="10" Background="Yellow">
<Border.BitmapEffect>
<OuterGlowBitmapEffect></OuterGlowBitmapEffect>
</Border.BitmapEffect>
<Label x:Name ="lbl1" FontSize="20" Content="{Binding Path=ToolTip}">
</Label>
</Border>
</Button.ToolTip>
<Button.Effect>
<DropShadowEffect/>
</Button.Effect>
</Button>
मैं को परिभाषित करने के लिए स्ट्रिंग सामग्री और टूलटिप स्ट्रिंग में प्रत्येक बटन के लिए एक XML फ़ाइल है, तो इस जानकारी को बदला जा सकता है संशोधित करके XML फ़ाइल है.
इस के लिए, मैं बनाया एक ViewModel परिभाषित एक वस्तु कहा जाता है Bouton (फ्रेंच में) :
public class Bouton : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
void Notify(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
int boutonNumber;
public int BoutonNumber{ get { return boutonNumber; } set { boutonNumber= value; Notify("BoutonNumber"); } }
string texteBouton;
public string TexteBouton { get { return texteBouton; } set { texteBouton = value; Notify("TexteBouton"); } }
string tooltip;
public string Tooltip { get { return tooltip; } set { tooltip = value; Notify("ToolTip"); } }
public Bouton(int nb, string tb, string tt)
{
BoutonNumber = nb;
TexteBouton = tb;
Tooltip = tt;
}
}
जब पढ़ने को XML फ़ाइल, मैं बनाने के लिए 20 वस्तुओं के Bouton के साथ प्रकार के बारे में जानकारी boutonNumber, सामग्री और टूलटिप. तो इन सभी बूटोन वस्तुओं को संग्रहित कर रहे हैं एक सूची में संग्रह.
अब मैं चाहता हूँ करने के लिए DataBinding का उपयोग के बीच मेरे बूटोन सूची और ग्राफिक नियंत्रण पर MainWindow सक्षम होना करने के लिए सामग्री प्रदर्शित करने के लिए स्ट्रिंग और टूलटिप स्ट्रिंग पर प्रत्येक बटन । में MainWindow, मैं निम्नलिखित कोड :
public MainWindow()
{
InitializeComponent();
List<Bouton> lst = Utilities.CreateList();
this.DataContext = lst;
}
जहां lst एक सूची संग्रह सही ढंग से प्रारंभ किया.
लेकिन मैं नहीं जानता कि कैसे बनाने के लिए databinding काम पर बटन नियंत्रित करता है । मैं कैसे कर सकते हैं में से प्रत्येक के 20 बटन नियंत्रण सही ढंग से लिंक करने के लिए इसी बूटोन वस्तु (में निहित Boutons संग्रह) ? मेरा मतलब है कैसे कर सकते हैं Button1 नियंत्रण पाने के अपने तार से Bouton1 वस्तु, Button2 नियंत्रण पाने के अपने स्ट्रिंग से Bouton2 वस्तु,,, और इतने पर जब तक Button20 नियंत्रण और Bouton20 वस्तु ?
आपकी मदद के लिए धन्यवाद. कृपया ध्यान दें मैं एक शुरुआत कर रहा हूँ के साथ WPF और यह मेरी पहली WPF परियोजना के साथ Visual Studio.