रनटाइम में DataGrid.RowDetailsTemplate में नियंत्रण कैसे प्राप्त करें


रनटाइम में DataGrid.RowDetailsTemplate में txtName तक कैसे पहुंचें:

मेरा कोड:

सी#
<DataGrid ColumnWidth="*" Name="dgUsers" Grid.ColumnSpan="5" Grid.Row="4" Margin="10,0,10,4"
                                  AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False"
                                  IsReadOnly="True"
                                  SelectionMode="Single" SelectionUnit="FullRow" HeadersVisibility="Column">
                            <DataGrid.Columns>
                                <DataGridTextColumn x:Name="Name" Header="Name"  Binding="{Binding Path=Name}"/>
                                <DataGridTextColumn x:Name="Family" Header="Family"  Binding="{Binding Path=Family}"/>
                            </DataGrid.Columns>
                            <DataGrid.RowDetailsTemplate>
                                <DataTemplate>
                                    <Grid Margin="0,10,0,10" >
                                        <TextBox Name="txtName" Margin="0,2,0,2" Text="{Binding Path=Name}" />
                                        <TextBox Name="txtFamily" Margin="0,2,0,2" Text="{Binding Path=Family}" />
                                        <TextBox Name="txtUserName" Margin="0,2,0,2" Text="{Binding Path=UserName}"  />
                                            <Button Background="#FF7F9D0E" Height="60" Name="btnDelete" TabIndex="8" Width="60" Margin="30,0,30,0" Click="BtnDeleteClick">
                                    </Grid>

                                </DataTemplate>
                            </DataGrid.RowDetailsTemplate>
                        </DataGrid>

मैं इवेंट BtnDeleteClick में txtName तक पहुंच चाहता हूं।

समाधान 2

वांछित RowDetailsTemplate सामग्री तभी उपलब्ध होती है जब पंक्ति का विस्तार किया जाता है।
इस घटना तक (देखें) पंक्तिविवरण लोड हो रहा है) सामग्री शून्य है और इसे खोजने का प्रयास करें DataGridDetailsPresenter.ContentTemplate अपवाद की ओर ले जाता है:
System.अमान्यऑपरेशन अपवाद

HRपरिणाम=0x80131509
संदेश=ऑपरेशन केवल उस टेम्पलेट का उपयोग करने वाले तत्वों के लिए मान्य है।
स्रोत = प्रेजेंटेशन फ्रेमवर्क
स्टैक ट्रेस:
System.Windows.FrameworkTemplate.FindName (स्ट्रिंग नाम, FrameworkElement templatedParent) पर
ProductOverviewModule.View.ProductionOrdersGrid.GetRowDetailTemplateGrids() में fileName.cs:line 86 पर

अधिक जानकारी के लिए लिंक देखें https://stackoverflow.com/questions/5679648/why-would-this-contenttemplate-findname-throw-an-invalidoperationexception-on[^]

コメント

タイトルとURLをコピーしました