पर बाइंड संग्रह मैं ऑब्जेक्ट्स का संग्रह लेना चाहता हूं और इसे स्टैकपैनल से बांधना चाहता हूं, इसलिए मूल रूप से अगर संग्रह में 4 तत्व होते हैं, तो स्टैक पैनल के अंदर 4 बटन उत्पन्न करना चाहिए।स्टैकपैनल
मैंने कोशिश की ... लेकिन मुझे यह सही दृष्टिकोण नहीं लगता है। मैंने अतीत में इस तरह के विचार करने के लिए डेटा टेम्पलेट का उपयोग किया .. अगर मैं गलत हूं तो कृपया मुझे सही करें।
यहाँ मेरी नकली मॉडल
public class MockModel
{
public ObservableCollection<MockNode> Nodes;
public MockModel()
{
Nodes = new ObservableCollection<MockNode>();
}
}
public class MockNode
{
public MockNode()
{
}
private string itemname;
public string ItemName
{
get { return this.itemname; }
set { this.itemname = value; }
}
}
कोड में मैं इस तरह DataContext सेट ...
// Init Model
MockModel myModel = new MockModel();
for (int i = 0; i < 4; i++)
{
MockNode mn = new MockNode();
mn.ItemName = String.Format("Node {0}", i);
myModel.Nodes.Add(mn);
}
// Set DataContext for StackPanel
Stack.DataContext = myModel.Nodes;
और XAML है
<StackPanel x:Name="tStack">
<ItemsControl ItemsSource="{Binding Nodes}">
<ItemsControl.Template>
<ControlTemplate>
<Button Content="{Binding ItemName}"/>
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
</StackPanel>
आईटी बांधता है लेकिन 4 बटनों के बजाय मुझे केवल एक बटन मिलता है ....
विचार?
यह मैं सिर्फ क्या जरूरत थी। धन्यवाद। – Trevor
यह हमेशा आवश्यक नहीं है, लेकिन कुछ और अनुकूलन के लिए आपको StackPanel पर "IsItemsHost" संपत्ति सेट करने की आवश्यकता होगी। – MatrixManAtYrService
आप 'आइटमसोर्स' कहां सेट कर रहे हैं? क्या यह एक्सएएमएल ' 'में लपेटा गया है? –
IAbstract