我正在尝试解决列表框中项目与模板之间的通信问题。让我们说我有模板:
<DataTemplate x:Key="Template">
<StackPanel HorizontalAlignment="Stretch">
<TextBox Name="A" FontSize="17" Margin="5,5,5,1"></TextBox>
<TextBox Name="B" FontSize="15" Margin="5,0,5,1"></TextBox>
</StackPanel>
</DataTemplate>
当我在Textbox
B上键入数据并按ENTER时,我调用将类型文本发送到Textbox
A的方法。问题是我如何为列表框项目中的模板项创建这样的keydown metod以及如果我能不止一个项目?
答案 0 :(得分:0)
为什么不尝试像这样绑定
<DataTemplate x:Key="Template">
<StackPanel HorizontalAlignment="Stretch">
<TextBox Name="A" Text="{Binding Text, ElementName=B}" FontSize="17" Margin="5,5,5,1" />
<TextBox Name="B" FontSize="15" Margin="5,0,5,1" />
</StackPanel>
</DataTemplate>
答案 1 :(得分:0)
让我说我明白了。但它有点问题。它的Windows 8存储应用程序,我想我不能像WPF一样处理这个问题。多数民众赞成我是如何做到的:
var parent = ((TextBox)sender).Parent;
var child = VisualTreeHelper.GetChild(parent, 1);
TextBox text = (TextBox)child;
text.Text += Client.Settings.Account + ": " + ((TextBox)sender).Text + "\n";
((TextBox)sender).Text = string.Empty;
而另一个问题是另外两个问题:
TextBox
中的具体Item
A我不知道如何实现它。我的意思是我有IncomingMessage
方法,我需要找到与我联系的项目,并将他的信息发送到他的TextBox
A.