Wpf 如何将字符串变量绑定到绑定到DataSet的Datagrid行详细信息

Wpf 如何将字符串变量绑定到绑定到DataSet的Datagrid行详细信息,wpf,xaml,data-binding,datagrid,Wpf,Xaml,Data Binding,Datagrid,我有绑定到数据库的Datagrid <WpfToolkit:DataGrid Name="DataGrid1" Grid.Row="1" ItemsSource="{Binding Path=MainSearchBinding}" /> 我有行详细信息,它绑定到数据库中我的表的Intro列 <WpfToolkit:DataGrid.RowDetailsTemplate> <DataTemplate>

我有绑定到数据库的Datagrid

<WpfToolkit:DataGrid Name="DataGrid1" Grid.Row="1" 
      ItemsSource="{Binding Path=MainSearchBinding}" />
我有行详细信息,它绑定到数据库中我的表的Intro列

<WpfToolkit:DataGrid.RowDetailsTemplate>            
    <DataTemplate>
        <StackPanel Orientation="Horizontal" Margin="5">
                <StackPanel Orientation="Vertical" Margin="5" >
                    <TextBlock Foreground="CadetBlue" FontSize="13" 
                    Width="Auto" TextWrapping="Wrap" 
                    Text="{Binding Path=Intro}"/>

            </StackPanel>
        </StackPanel>
    </DataTemplate>
</WpfToolkit:DataGrid.RowDetailsTemplate>

我想要的是不要在我的表中使用Intro列。我想使用代码中的字符串值,而不是列介绍。如何将字符串值绑定到行详细信息?提前感谢。

我稍微修改了我的xaml代码,将名称添加到文本块中

<WpfToolkit:DataGrid.RowDetailsTemplate>

                <DataTemplate>

                    <StackPanel HorizontalAlignment="Stretch" Orientation="Vertical" Margin="5">
                        <TextBlock Foreground="CadetBlue" FontSize="14"
                            TextWrapping="Wrap" Name="rowdetails" HorizontalAlignment="Stretch"
                            />
                    </StackPanel>
                </DataTemplate>


            </WpfToolkit:DataGrid.RowDetailsTemplate>
我将下面的代码添加到OnMouseClick中。retString是我的字符串变量。它在每个单击的行详细信息中显示我的字符串变量

 Microsoft.Windows.Controls.DataGridRow row = (Microsoft.Windows.Controls.DataGridRow)(DataGrid1.ItemContainerGenerator.ContainerFromItem(DataGrid1.SelectedItem));

            // Getting the ContentPresenter of the row details
            DataGridDetailsPresenter presenter = FindVisualChild<DataGridDetailsPresenter>(row);


            DataTemplate template = presenter.ContentTemplate;
            TextBlock txt = (TextBlock)template.FindName("rowdetails", presenter);
            txt.Text = retString;
不要忘记在代码中添加FindVisualChild。这是代码

private childItem FindVisualChild<childItem>(DependencyObject obj)
    where childItem : DependencyObject
        {
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
            {
                DependencyObject child = VisualTreeHelper.GetChild(obj, i);
                if (child != null && child is childItem)
                    return (childItem)child;
                else
                {
                    childItem childOfChild = FindVisualChild<childItem>(child);
                    if (childOfChild != null)
                        return childOfChild;
                }
            }
            return null;
        }
我不知道为什么没有人回答我的问题。也许它不受欢迎