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