C# 如何检索动态创建的文本框的文本并将其显示为wpf c中动态创建按钮的内容#

C# 如何检索动态创建的文本框的文本并将其显示为wpf c中动态创建按钮的内容#,c#,wpf,C#,Wpf,我正在尝试在listview中动态创建一个文本框和一个按钮,效果很好。 下一步我要做的是在动态创建的文本框中显示文本,并在按钮单击事件中显示为按钮的内容。我感到困惑,不知道如何访问动态创建的按钮或代码中的文本,因为“名称属性”对同一事件无效 欢迎任何建议 XAML 您可以通过以下方法获取命名文本框: 在单击事件处理程序中,sender参数将是单击的按钮。因此,如果将其强制转换为按钮,则可以使用按钮对象 但这只是你的按钮。如果您随后抓住按钮的数据上下文,则该对象就是创建该按钮的数据模板要显示的对象

我正在尝试在listview中动态创建一个文本框和一个按钮,效果很好。 下一步我要做的是在动态创建的文本框中显示文本,并在按钮单击事件中显示为按钮的内容。我感到困惑,不知道如何访问动态创建的按钮或代码中的文本,因为“名称属性”对同一事件无效

欢迎任何建议

XAML


您可以通过以下方法获取命名文本框:


在单击事件处理程序中,
sender
参数将是单击的
按钮。因此,如果将其强制转换为
按钮
,则可以使用按钮对象

但这只是你的按钮。如果您随后抓住
按钮
数据上下文
,则该对象就是创建该按钮的
数据模板
要显示的对象

通常在这一点上,我会通过数据绑定将模板中的内容文本与
DataContext
对象相关联,因此这只是适当地操作
DataContext
对象的情况,UI将自动更新


如果您还没有这样做,那么您可以从
按钮
进入WPF可视化树,开始搜索模板中的其他控件,但尽管这是可能的,但如果您只使用数据绑定,通常会比它的价值更麻烦。

Sry manish这是xaml。。。。。。。
<ListView Height="222" HorizontalAlignment="Left" Margin="341,24,0,0" Name="listView1" VerticalAlignment="Top" Width="290" Background="Green" 
              AllowDrop="True" 
              DragDrop.Drop="listview_drop" 
              DragDrop.DragEnter="treeview_dragenter" ItemsSource="{Binding XPath=self::*}"></pre>
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" x:Name="stc">
                    <TextBlock Text="{Binding Path=Name}" Margin="0,0,3,0"/>
                    <ComboBox Margin="0,0,3,0" x:Name="cbox1">
                        <ComboBoxItem Content="Less Than"/>
                        <ComboBoxItem Content="Greater Than"/>
                        <ComboBoxItem Content="Equals"/>
                    </ComboBox>
                    <TextBox Margin="0,0,3,0" Width="50" x:Name="textbox1" />
                    <Button x:Name="but1" Height="25" Width="35" Click="click" Content="gen" />
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
private void click(object sender, RoutedEventArgs e)
{
    //Don`t know what do do here           
}
private void click(object sender, RoutedEventArgs e)
{
    var button = sender as Button;
    var parent = button.Parent as FrameworkElement;
    var textBox = parent.FindName("textbox1") as TextBox;
    button.Content = textBox.Text;
}