मैं xaml फ़ाइल में किसी भी सेटिंग के बिना ग्रिड ऑब्जेक्ट नया करता हूं। 'OnAppearing ()' में 'बिल्ड_ग्रिड ()' के माध्यम से डेटा आयात करने के बाद, मैं स्क्रीन पर प्रदर्शित करने के लिए 'ग्रिडव्यू' को 'ग्रिड_इन्फो' को असाइन करना चाहता हूं, कोड 'ग्रिड_इन्फो = ग्रिडव्यू' काम नहीं करता है। मैं सोच रहा हूं कि मेरी जरूरतों को कैसे पूरा किया जाए?

<ContentPage.Content>
<StackLayout>
<Label Text="AAA" />
<Grid x:Name="Grid_Info">
</Grid>
</StackLayout>
</ContentPage.Content>


    void Build_Grid(Data data)
        {
        Grid gridview = new Grid();
        gridview.RowDefinitions.Add(new RowDefinition() { Height = 40 });
        gridview.Children.Add(data[0],0,0);
        ...
Grid_Info = gridview; //it does not work...
        }

protected override void OnAppearing()
{
Data data = new Data();
...
Build_Grid(data);
}
0
Hannah.C 23 जिंदा 2021, 18:31

2 जवाब

सबसे बढ़िया उत्तर

यदि आप पहले से ही XAML में ग्रिड को परिभाषित कर चुके हैं तो ऐसा करने की कोई आवश्यकता नहीं है

Grid gridview = new Grid();

इसके बजाय केवल Grid_Info को सीधे देखें

Grid_Info.RowDefinitions.Add(new RowDefinition() { Height = 40 });
Grid_Info.Children.Add(data[0],0,0);
0
Jason 23 जिंदा 2021, 20:48

आप नीचे दिए गए कोड को आजमा सकते हैं। मैं परीक्षण करने के लिए डेटा क्लास बनाता हूं। यह मेरे लिए काम करता है।

public partial class Page3 : ContentPage
{
    Data[] data;
    public Page3()
    {
        InitializeComponent();
        data = new Data[2];
        data[0] = new Data { view = new Button() { BackgroundColor = Color.Red } }; //data[0]
        data[1] = new Data { view = new Label() { BackgroundColor = Color.Green, Text = "Label" } };//data[1]

    }
    void Build_Grid(Data[] data)
    {
        Grid gridview = new Grid();
        Grid_Info.RowDefinitions.Add(new RowDefinition() { Height = 40 });
        Grid_Info.Children.Add(data[0].view, 0, 0);//show the red button
        Grid_Info = gridview; //it does not work...
    }
    protected override void OnAppearing()
    {
        base.OnAppearing();
        Build_Grid(data);
    }
}
public class Data
{
    public View view { get; set; }
}

enter image description here

0
Wendy Zang - MSFT 25 जिंदा 2021, 10:24