Как получить доступ к данным внутри текстового блока в DataGrid.RowDetailsTemplate - PullRequest
1 голос
/ 10 апреля 2019

Как я могу получить данные от TextBlock Name="txtSellerId"

<Grid Margin="10">
        <DataGrid Name="dgUsers" AutoGenerateColumns="False"  LoadingRowDetails="dgUsers_LoadingRowDetails">
            <DataGrid.Columns>
            </DataGrid.Columns>
            <DataGrid.RowDetailsTemplate >
                <DataTemplate >
<DockPanel Background="GhostWhite">
<grid>
<TextBlock Name="txtSellerId" Text="{Binding SellerId, StringFormat=d}" Grid.Column="1" Grid.Row="2" />
                        </Grid>

                    </DockPanel>
                </DataTemplate>

            </DataGrid.RowDetailsTemplate>

        </DataGrid>

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Чтобы получить значение программно, вы можете попробовать этот метод

dgUsers.LoadingRowDetails += dgUsers_LoadingRowDetails;

 void dgUsers_LoadingRowDetails(object sender, DataGridRowDetailsEventArgs e)
       {
         var textBlockValue = (e.DetailsElement as FrameworkElement).FindName("txtSellerId") as TextBlock;
       }    
0 голосов
/ 10 апреля 2019

Вы можете привязать модель к строкам сетки данных и использовать ее в выделенном коде.

var user = (User)myDataGrid.SelectedItem;
var userId = user.Id;

Простой пример: DataGrid с деталями строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...